SPATIUM Desktop
주소복사
About Operating System Languages Tools Favorites Notice Visit TEST  
     ADK (2)
     android (3)
     ASP (5)
     ASP.Net (1)
     C# (5)
     HTML (9)
     JAVA (6)
     JavaScript (9)
     jQuery (5)
     Mobile Web (2)
     Oracle (8)
     PHP (7)
     Spring Framework (4)
     SQL (15)
     WPF (5)
   ID  
   Password  
  |  
  Location United States
  IP Address 54.196.47.145
2018. 04
1234567
891011121314
15161718192021
22
232425262728
2930
Category  Languages, JAVA
Writer 김태우 Date 2015-07-22 14:34:06 Visit 1852
JSP/Servlet 처리과정

 

JSP/Servlet 처리과정

 

① Client가 브라우저를 통해 페이지(예,spatium.co.kr/happy) 요청(Http Request)

 - 웹 서버(여기서 말하는 웹서버란 Apache와 같은 정적인 페이지를 처리하는 서버)는 Client가 요청한 url을 받아 확인

 - 웹서버가 처리 할 수 있는 요청인지 아닌지에 대해서 먼저 판단

 - Client가 요청한 url은 동적인 페이지를 담고 있었기 때문에 웹서버는 컨테이너에게 요청을 위임

 - 여기서 말하는 컨테이너란 웹 어플리케이션 서버(대표적인 예로 tomcat)

 - 웹 어플리케이션 서버는 정적인 요청(html, 이미지 파일등) 이외 servlet을 생성하고 사용할 수 있음

 - Servlet이란 Java 언어를 기반으로 동적인 contents를 생성, JAVA 코드 안에 HTML 태그가 섞여 있는 형태

② 컨테이너는 웹 서버가 위임한 요청을 파악

  - 요청 URL에 매핑되는 Servlet을 가지고 있는지 DD(Deployment Desciber) 배포서술자를 이용하여 찾게 됨

 - 배포 서술자란, web.xml을 일컫는 말로써 톰캣(컨테이너)의 실행환경에 대한 정보를 가지고 있는 '환경설정' 파일

web.xml 에서 servlet 요청을 찾는 부분, 예

  - 설정을 살펴보게 되면 Servlet-mapping을 통해 길동이 보낸 요청과 매칭되는 서블릿이 있는지 찾음

 - Client가 보낸 url(spatium.co.kr/happy)를 보면 뒤에 /happy라는 부분이 있는데 매핑되는 부분을 찾음

 - 컨테이너는 /happy url을 처리하는 basic이라는 서블릿으로 해당 요청을 처리

③ 컨테이너에 basic 서블릿이 적재되어 있는지 확인, 없으면 객체 생성

 - 서블릿이 적재되어 있지 않으면 request와 response 객체를 생성하고 해당하는 서블릿의 스레드를 생성하여 앞의 두 객체를 인자로 넘기게 됨

 - 서블릿이 객체를 인자로 받아 init() 초기화 작업

 - 초기화가 끝나면, 스레드는 servlet의 service() 메소드를 호출

 - 요청받은 방식이 GET방식인지 POST 방식인지에 따라 DoGet(), DoPost() 메소드 중에서 선택

④ 디스패처 서블릿에게 응답을 보냄

 - 요청을 처리

⑤ 요청을 처리하여 VIEW를 컨테이너에게 반환

 - 컨테이너는 다시 WebServer에게 반환

 - WebServer는 Client에게 반환

 

Ref : http://blog.naver.com/kim3zz/220273028176

 

Tags  JSP,Servlet,처리과정
  Relation Articles
[Languages-JAVA] JSP/Servlet 처리과정 (2015-07-22 14:34:06)
  Your Opinion
Member ID
150 letters
Copyright (C) SPATIUM. All rights reserved.
[SPATIUM]WebMaster Mail