웹 컨테이너(Web Container)란?
: 웹 서버의 내부에서 서블릿 클래스 또는 JSP 파일을 실행하기 이한 실행환경을 재공하는 역할을 하며 특히 서블릿 클래스에 대한 웹 컨테이너를 서블릿 컨테이너, JSP 파일에 대한 웹 컨테이너를 JSP 컨테이너라고 합니다. 그리고 추가적으로 jsp와 서블릿을 사용한 웹서버는 크게 URL 주소의 해석을 맡아주는 HTTP 서버와 서블릿 또는 JSP 파일의 실행 요청을 처리해주는 웹 컨테이너로 구성됩니다.
HTTP 서버
: HTTP 서버는 단순히 어떤주소(URL) 요청이 들어왔을 경우 그 주소에 미리 매핑되어 있는 컨텐츠(HTML 파일 혹은 이미지 등)를 사용자의 브라우저에 응답형태로 전송하는 역할을 합니다.
배포 서술자(Deployment Descriptor)란?
: 웹 컨테이너에게 사용자가 지금 접근한 URL 주소가 서블릿 요청임을 인식하고 그 서블릿 클래스의 위치는 어디에 있다고 알려주기 위해 필요한 정보들이 적혀 있는 파일입니다. 주로 web.xml 파일에 작성됩니다.
아래 화면을 통해 알아 보겠습니다.
위의 화면을 보시면 배포 서술자는 <sevlet>과 <servlet-mapping>로 구성됩니다.
<servlet-name> : <servlet>과 <servlet-mapping>을 연결해줄 수 있게 연결고리 같은 역할을 하며, 임의로 이름을
지정할 수 있습니다.
<servlet-class> : 서블릿 클래스 파일을 호출할 수 하는 역할이며, 서블릿 클래스 파일의 위치와 클래스 파일명을 작성해줍니다.
<url-pattern> : 사용자가 요청한 URL의 주소형식이 명시된 URL 패턴과 동일한지 비교하는 역할입니다.
따라서, 웹 컨테이너가 인식하는 순서
(1) <servlet-mapping>에서 <url-pattern>을 통해 사용자가 요청한 URL과 비교합니다.
(2) 동일할 경우 <servlet-mapping>의 <servlet-name>을 통해 <servlet>내의 <servlet-name>과 일치하는 <servlet-name>을
찾습니다.
(3) 일치하는 <servlet-name>이 있을 경우 해당 <servlet-name>의 <servlet-class>를 호출하게됩니다.
'java' 카테고리의 다른 글
filter (0) | 2015.02.23 |
---|---|
JSP (0) | 2015.02.09 |
Servlet (0) | 2015.02.09 |
Web Server & Web Application Server (0) | 2015.02.09 |