들어가기에 앞서
본 내용은 이지훈_JSP Web Programming(예문사) 책을 보면서 공부한 것입니다!
JSP책 중 난이도가 좀 있는 책이라고 하는데
그럼에도 불구하고 설명을 굉장히 잘 해주셨습니다.
● 웹 서비스(Web Service)
○ 필수요소 : 웹 클라이언트(Web Client)와 웹 서버 (Web Server). 웹 브라우저(Web Browser)
○ 웹 서비스 제공 : 웹 클라이언트의 요청(Request)과 응답(Response)의 반복
○ HTTP : 웹 서비스 진행을 위한 규약
웹 클라이언트가 웹 브라우저를 통해 정보를 요청(Request)하고 웹 서버가 그 요청에 응답(Response)하여 웹 브라우저에서 해당 응답을 처리한 후 결과를 출력해주기까지 웹 서비스 전반에 걸친 규칙들을 규명해 놓은 프로토콜
○ 애플리케이션 서버(Application Server) 방식
프로그램 실행 과정을 애플리케이션 서버에게 위임함으로써 간접적으로 프로그램수행을 명령하는 방식
① 웹 클라이언트에서 웹 브라우저를 통해 웹 서버에 정보를 요청(Request)
② 웹 서버는 전송된 요청(Request) 처리를 위한 프로그램 실행을 애플리케이션 서버에 일임
③ 애플리케이션 서버는 요청에 맞는 프로그램을 스레드(Thread)를 생성하여 실행
④ 웹 서버는 프로그램에서 수행된 결과를 웹 브라우저로 전송
■ 각각의 요청을 스레드(Thread)로 처리하기 때문에 기존 CGI 방식에 비해 메모리 사용 효율이 높음
○ 웹 컨테이너(Web Container) : 웹 브라우저에서 요청된 URL 주소가 서블릿 혹은 JSP 페이지를 호출하는 경우 처리를 담당
■ 웹 클라이언트에서 전송된 요청이 서블릿이나 JSP 페이지를 지칭할 경우, 웹 컨테이너는 이 요청을 넘겨 받아 서블릿/JSP 페이지를 실행하여 필요 기능을 수행한 후 그 결과를 웹 브라우저에 전송함으로써 응답하게 함
● 애플리케이션의 파일 구조
1) 웹 프로젝트의 속성 설정을 위한 web.xml 파일
2) 라이브러리 사용을 위한 lib 폴더
3) 서블릿을 포함한 각종 Java 파일로부터 컴파일된 클래스 파일들이 위치한 classes 폴더
4) 태그 라이브러리 사용하기 위한 tld파일 -> tld 폴더 -> WEB-INF 폴더
5) 서버 환경 설정하기 위한 context.xml 파일이 위치하는 META—INF 폴더
6) 웹 페이지 구현을 위한 JSP 페이지, HTML 페이지, CSS 파일과 자바스크립트 파일, 이미지와 사운드, 동영상 등을 위한 멀티미디어 파일들이 웹 프로젝트 폴더 바로 아래에 위치
○ 서블릿 페이지의 제작
■ 서블릿 페이지는 JSP와는 달리 동적 웹 서비스를 제공하기 위한 Java 클래스를 직접 구현하며 제작
■ 수행 과정
① 서블릿 클래스 파일을 제작
② 제작한 서블릿 클래스 파일을 컴파일하여 웹 애플리케이션 내 'WEB-INF/classes, 폴더에 저장
③ web.xml 파일에 서블릿을 등록
④ 웹 컨테이너를 구동하여 서블릿 페이지를 사용
■ 컴파일 된 서블릿 : class 파일은 WEB-INF\classes\ 폴더에 위치해야 함 - > classes 폴더 생성
○ web.xml 작성
■ 문법 식별자와 함께〈web-app〉태그 내 등록한 서블릿의 이름과 클래스 경로명을〈servlet〉태그 아래의〈servlet-name〉및〈servlet—class〉태그에 명시
■ <servlet-mapping>태그의〈 servlet -name〉태그와〈url—pattern〉태그에 사용할 서블릿 이름과 서블릿 페이지 호출 시 사용될 상대주소를 입력
<web-app xmlns=”http:// java.sun.com/xml /ns/ javaee”
xmlns:xsi=”http://www. w3.org/2001/XMLSchema-instance"
xsi: schemaLocation=”http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee /web-app_3_0.xsd"
version=”3.0" metadata complete="true">
<servlet>
<servlet-name>서블릿 이름</servlet-name>
<servlet-class>클래스 경로명</servlet class)
</servlet>
<servlet-mapping>
<servlet-name>사용할 서블릿 이름</servlet-name>
<url-pattern>/호출 시의 상대 주소</url-pattern>
〈/servlet-mapping〉
</web-app>
● 웹 어플리케이션 배포
○ 웹 애플리케이션 코드를 하나의 파일로 묶어서 배포 가능한、WAR 파일을 사용하여 웹 애플리케이션을 배포
○ Dynamic Web Project는 이클립스에서 동적 웹 애플리케이션 제작을 위해 최적화된 프로젝트 환경
○ 이클립스에서는 웹 애플리케이션을 구성하는 HTML이나 JSP페이지 등은 모두 WebContent 폴더에 위치
'JSP > 이론' 카테고리의 다른 글
[JSP][이론]05 JSP 액션 태그 (0) | 2020.09.07 |
---|---|
[JSP][이론]04 JSP 세션 관리_HTTPSession (0) | 2020.09.05 |
[JSP][이론]04 JSP 세션 관리_쿠키 (0) | 2020.09.05 |
[JSP][이론] 02 JSP 기초 (0) | 2020.09.05 |
[JSP][이론] 01.서블릿 (0) | 2020.09.04 |