들어가기에 앞서

본 내용은 이지훈_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”

xmlnsxsi=”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

+ Recent posts