'웹프로그래밍'에 해당되는 글 2

  1. 2009/12/12 02. 웹 프로그래밍 시작하기
  2. 2009/12/11 01. 웹프로그래밍 기초

02. 웹 프로그래밍 시작하기

1. 웹 프로그래밍의 절차
  - 개발 환경 구축
  - 웹 애플리케이션 코드 개발 및 테스트
  - 완성된 웹 애플리케이션을 서비스 환경에 배포
2. 개발환경 구축하기
 - JSP와 서블릿을 이용해서 웹 애플리케이션을 개발하기 위해서 설치해야할 프로그램
  (1) JDK : 자바 개발 도구, 자바 기반의 웹 애플리케이션을 개발하고 실행하기 위해서 필요하다
  (2) 웹 컨테이너 : JSP나 서블릿을 실행시켜 주는 컨테이너로 톰켓, 제티, 글래스피쉬 등이 있다.
  (3) 코드 편집기 : 코드를 작성하거나 배포하기 위해 필요한 것으로 울트라 에디트, 노트패드플러스플러스, 이클립스 나 넷빈즈와 같은 개발도구가 있다.

3. JDK의 설치

더보기


4. JAVA_HOME 환경 변수 설정
    : 톰켓과 같은 웹 컨테이너가 JDK의 경로가 필요하기 때문에 사용하는 환경변수 이다. 
  - 비스타, 7의 경우
    : 제어판 - 시스템 및 유지관리-시스템 에서 고급 시스템 설정을 클릭한다. 
  - 윈도우 XP의 경우
    : 제어판-시스템을 실행한뒤 "고급"을 클릭하면 환경 변수를 출력할수잇는 화면이 출력된다. 
  

더보기


5. 톰켓 설치  
  톰켓은 6.0 이상의 버젼을 설치 한다.
http://tomcat.apache.org에 들어가서 Tomcat 6.x를 클릭하고 아래 6.0.20에서 windows installer service를 클릭하고 다운로드 한다.

설치시 user name은 admin 이고 password도 똑같이 admin을 입력 한다.
설치후 디렉토리의 구조는
bin : 톰켓을 실행하고 종료시크는 스크립트
conf : server.xml 파일을 포함한 톰캣 설정 파일이 위치해 있다.
lib : 톰캣을 실행하는데 필요한 라이브러리 파일이 위치해 있다.
logs : 톰캣 로그 파일이 위치한다.
temp : 톰캣이 실행되는 동안 임시 파일이 위치한다.
webapps : 웹 애플리케이션이 위치한다.
work : 톰캣이 실행되는 동안 사용되는 작업 파일이 위치한다.

※ 톰캣을 실행하는 방법 :
   - [톰캣설치 디렉토리]\bin 디렉토리 안에 있는 스크립트 파일을 사용하여 톰켓을 실행하거나 종료 한다.
     : startup.bat : 톰캣을 독립 프로세스로 시작한다.
     : stutdown.bat : 실행된 톰켓을 종료시킨다.
     : catalina.bat : 톰캣을 시작하거나 종료 한다. 
  - catalina.bat를 실행 시키려면 cmd 창에서 catalina.bat [실행옵션]을 실행하면 된다.
    [실행옵션]
     : start : 톰캣을 별도 프로세스로 시작한다.
     : stop : 실행중인 톰캣을 종료한다.
     : run : 명령 프롬프트에서 톰캣을 실행한다.
     : version : 톰캣의 버전을 실행한다.

6. 간단한 JSP 작성

더보기


C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\에 test라는 폴더를 만들고 작성한 코드를 저장한다. 저장할때 확장명은 파일이름.jsp로 설정한다.
웹 브라우저에서 http://127.0.0.1:8080/test/test.jsp 를 실행한다.
실행 되지 않는다면 톰캣을 리스타트후 다시 한번 실행해 보면 된다.

더보기


현재 저장하고 있는 시간을 보여주는 소스 코드 이다.

※ 정적인 결과 화면 vs 동적인 결과 화면
매번 현재 시간 값이 다른것을 확인 할수 있는데 매번 실행 할때 마다 보여지는 결과가 변경될수 있다는 것을 의미한다. 이것을 동적인 결과 라 하는데 이것은 곧 JSP의 독적인 측면을 잘 보여주고 있다.

7. 간단한 Servlet 작성하기
  - 서블릿을 이용해서 웹 애플리케이션을 개발 하려면 다음과 같은 과정을 거쳐야 한다.
   (1) 서블릿 소스코드를 저장할때 디렉터리를 생성한다. 
   (2) 클래스 파일을 저장할 WEB-INF\classes 디렉터리를 생성한다.
   (3) CLASSPATH 환경 변수 값을 설정한다. 
   (4) 서블릿 소스코드를 작성한다.
   (5) 소스코드를 컴파일한뒤, 생성된 클래스 파일을 classes 디렉토리에 복사한다.
   (6) WEB-INF\web.xml 파일에 서블릿 정보를 설정한다. 
   (7) 웹컨테이너를 시작한다.
   (8) 웹 브라우저에서 테스트 한다.

c:\> set CLASSPATH=[톰켓설치디렉터리]\lib\sevlet-api.jar
c:\> set CLASSPATH=%CLASSPATH%;[톰캣설치디렉터리]\webapps\test02\WEB-INF\classes

c:\> set CLASSPATH=C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar

을 cmd창에서 실행 해주면 된다.


더보기


서블릿 소스코드를 작성했으므로 소스 코드를 컴파일 해서 클래스 파일을 생성해야 한다.
소스코드를 컴파일 하기 위해서는 JDK가 설치된 디렉토리 안에 bin 폴더 안에 있는 javac를 통해 컴파일 하여야 한다.
CMD 창에서 실행한다.

c:\>set PATH=c:\jdk1.6.0.12\bin;%PATH%
c:\>cd C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\test02\WEB-INF\src
C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\test02\WEB-INF\src>javac -d C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\test02\WEB-INF\classes C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\test02\WEB-INF\nowServlet.java

를 실행하여 컴파일 한다.

※ 이클립스, 넷빈즈를 통하면 이러한 복잡한 내용들을 쉽게 처리 할수 있다. 어떻게 실행하는지 정도만 알고 넘어가면 될까 싶다.
저작자 표시

'BOOK Study > J2EE' 카테고리의 다른 글

05. 필수 이해 요소  (0) 2009/12/15
04. 자바 기초 문법  (0) 2009/12/15
03. JSP로 시작하는 웹 프로그래밍  (0) 2009/12/14
02. 웹 프로그래밍 시작하기  (0) 2009/12/12
01. 웹프로그래밍 기초  (0) 2009/12/11
JSP의 시작  (0) 2009/12/10
Trackback 0 Comment 0

01. 웹프로그래밍 기초


1. JSP란 무엇인가?
JSP 즉, JavaSever Pages는 스크립트 언어이며, 다음과 같은 특징을 가지고 있다.
- 자바언어를 기반으로 하는 스크립트 언어로서 자바가 제공하는 기능을 그대로 사용할수 있다.
- HTTP와 같은 프로토콜에 따라 클라이언트의 요청을 처리하고 응답한다.
- HTML, XML등 클라이언트가 요청한 문서를 생성하는데 주로 사용된다.
- 서블릿/EJB등의 엔터프라이즈 기술들과 잘 융합된다. 
- 표현언어, 표현식, 스크립트릿 등 다양한 스크립트 요소와 액션 태그 등을 제공함으로써 보다 쉽게 웹 어플리케이션을 프로그래밍 할수 있도록 도와준다.

자바언어를 그대로 사용할수 있다는 것은 JSP의 가장큰 장점중 하나다.

JSP는 HTTP프로토콜을 알맞게 처리할수 있도록 되어있다. 웹브라우저가 전송한 데이터를 읽어오고 생성한 데이터를 웹 브라우저에 전송한 것 처럼 웹 어플리케이션을 개할하는데 필요한 기능들을 스크립트 차원에서 제공하고 있다.
사용자의 세션을 쉽게 관리 할 수 임ㅆ도록 자체적으로 새션 기능을 제공하고 있다.
JSP는 주로 웹 브라우저의 요청에 따라 알맞은 HTML 결과 화면을 생성하기 위해 사용된다. HTML 뿐만 아니라 XML, PDF등 다양한 문서를 생성하는데도 JSP를 사용할수 있다.

여기에서 설명하는 JSP 2.1은 J2EE 5의 규약이 포함되어 있다.

2. 웹 컨테이너
웹컨테이너는 이름 그대로 웹 어플리케이션을 실행 할수 있는 컨테이너이다. 자바에서 웹어플리케이션은 JSP와 서블릿으로 구현되므로 자바에서의 웹 컨테이너는 밑에 그림과 같이 구성된다.
웹컨테이너 = JSP 컨테이너 + 서블릿 컨테이너

JSP컨테이너
-JSP요청에 대한 전반적인 관리를 한다 사용자가 요청하는 것이 웹서버는 요청이 jsp파일인것을 인지하고, 작업을 JSP컨테이너에게 시킨다.JSP컨테이너는 적절한 작업을 하고, 그 작업을 통해 돌려주는 것이 서블릿이다
 -JSP파일을 서블릿을 변환하는 것이다. 실제로 사이트를 만들고 웹브라우저에서 어느 JSP페이지를 요청하면 그 JSP에 해당하는 클래스파일이 생긴다. 이것이 서블릿이다
-컴파일해서 *.class파일로 컴파일하고 컴파일된걸로 실행해서 웹서버에게 이 결과를 돌려준다. 웹서버는 그 결과를 받아서 HTML형태로 사용자에게 응답을 해주게 된다.이것도 JSP페이지의 최초의 요청시의 일어나는 작업이고, 두번째부터는 중간과정이 생략된다

서블릿 컨테이너
JSP컨테이너와 기능은 같다. 다만  JSP컨테이너는 서블릿으로 변환하는 파싱과정이 하나 더 있다는 것이다.

3. JSP를 사용하는 이유
- 자바 언어를 기반으로 하고 있기 때문에 플렛폼에 상관없이 사용할 수 있다.
- 자바 언어에 대한 깊은 이해가 없더라도 빠르게 배울수 있다.
- 대규모 어플리케이션을 구현 할 때  사용되는 스피링이나 스트럿츠와 같은 프레임워크와 완벽하게 연동되며, 금융권에서 많이 사용되는 EJB 기술과 도 오나벽하게 연동된다.

4. JSP 동작 원리




5. 기타 내용 :
▩ WEB, 서버쪽 프로그래밍과 클라이언트쪽 프로그래밍 개론

1. 클라이언트 쪽 스크립트
   - 브러우저(인터넷 익스플로러)에 HTML, JavaScript, XML 해석기가 설치되어 있어 분석과 실행이 되어 출력.
   - HTML:출력 결과를 보여주는 태그로 구성 (HTML 4.0 = DHTML)
     데이터를 가지고 있는 매우 약하나 데이터를 일정한 형식으로 출력하는 기능을 주로 가지고 있다.
     (XML은 데이터 표현과 관련해서 많은 기능을 가지고 있다.)

2. 서버쪽 스크립트
   - 서버에 설치된 서블릿 컨테이너(Tomcat, Resin, Weblogic)에서 실행된다.
   - HTML은 자료를 처리, 저장, 검색하는 기능이 없고 단지 출력하는 기능만 가지고 있다. 따라서 이런 데이터를 처리하려면 DBMS(Oracle, MySQL)같은 데이터베이스가 필요하며, 이 데이터베이스에 접속하기위해서 서버스크립트(JSP, PHP, ASP.NET)가 필요하다.
   - HTML은 보안성이 없음으로 DBMS에 바로 접속할 수 없습니다. HTML은 누구나 소스를 열어볼 수 있다. 따라서 DBMS에 접속하면면 반드시 서버스크립트를 써야한다.
   - JSP: SUN의 서버쪽 스크립트 기술, 모든 운영체제 지원, JAVA 기반, Servlet Container를 설치해야 실행 할 수 있다.
   - ASP.NET: MS의 스크립트 기술, MS 운영체제만 지원, C# 기반, 윈도우에 웹서버가 기본적으로 설치되어 있으며, .NET Framework를 설치해야 실행 할 수 있다. 
   - ASP: MS의 서버쪽 스크립트 기술, MS 운영체제만 지원, Visual Basic 기반, IIS의 asp.dll이 처리하여 HTML로 결과를 생성함, 별다른 서버설치가 필요 없음, 유지보수, 수정이 매우 어렵다.
   - PHP: 서버쪽 공개 스크립트 기술, 모든 운영체제 지원, C 기반, 관련 dll파일이 처리, 속도가 느리고 유지보수, 수정이 매우 어렵다.

3. 서블릿을 이용한 구성
   - CGI에 비해 Thread 기술을 이용하여 동시접속자로 인한 과부하를 많이 해소했다.
   - 자바 기반 Web Application 구축 기술중에 가장 빠른 속도를 가지고 있다.
   - Servlet의 단점은 디자인 부분과 혼합하여 작업하기가 매우 어렵다.
   - 속도는 JSP에 비하여 컴파일 단계가 생략됨으로 빠른 형태를 가지고 있다.
   - JSP가 Servlet으로 변환되는 과정에서 불필요한 코드가 많이 발생하나 서블릿은 이 과정이 생략되어 있어 속도가 매우 빠르다.
   - 확장자가 java로 개발되어 .class 이다.(jsp파일은 확장자가 *.jsp이다.)

4. JSP를 이용한 구성
   - Servlet의 불편한 디자인 부분을 좀더 간결하게 제작하도록 개선된 서버 스크립트이다.
   - 하나의 JSP페이지에는 HTML, JavaScript, Java Code등이 혼합되어 존재하게 된다.
   - 디자이너가 작업한 내용이 JSP 페이지로 변경된다.
   - 변경된 JSP 페이지를 개발자가 코드 작업을 하게된다.
   - 대형 사이트의 경우 유지보수 및 기능 확장이 어려워 나중에 JSP, Beans로 분리되게 된다.

5. JSP + Beans 를 이용한 구성
   - JSP는 사이트 구축시 디자이너가 작업하게 되며, 일부 jsp 개발자가 코드 작업을 하게된다.
     . 디자인쪽 비중이 매우 크다.
   - BEANS는 콤포넌트 자바 개발자가 Business Logic(Process Logic)를 구현하는 목적으로 사용된다.
     . DB관련 INSERT, UPDATE, DELETE, SELECT등

저작자 표시

'BOOK Study > J2EE' 카테고리의 다른 글

05. 필수 이해 요소  (0) 2009/12/15
04. 자바 기초 문법  (0) 2009/12/15
03. JSP로 시작하는 웹 프로그래밍  (0) 2009/12/14
02. 웹 프로그래밍 시작하기  (0) 2009/12/12
01. 웹프로그래밍 기초  (0) 2009/12/11
JSP의 시작  (0) 2009/12/10
Trackback 0 Comment 0