* 자바 플랫폼에서 동적인 웹을 개발할 때 사용하는 기반 기술

* 웹에서 Java 프로그래밍을 할 수 있음

* 사용자의 요청을 받아 요청한대로 처리해주는 일을 한 후 처리 결과를 응답자에게 응답해줌

 

 

 

1. 사용자의 URL 요청

어떤 사용자의 URL 요청이 서블릿 요청이라는 걸 웹서버가 알기 위해서는 사전에 웹서버 측에 URL과 서블릿 클래스를 미리 mapping시켜 놓은 배포 서술자(웹 서버가 알아채라고 적은 파일들 (ex. web.xml)) 가 필요하다.

 

 

2. request, response 생성(객체)

웹 컨테이너는 지금 받은 요청을 처리하기 위해 HTTP 요청(request)을 처리하기 위한 request 객체와 HTTP 응답(response) 처리를 위한 response 객체 생성

 

 

3. 서블릿 인스턴스와 스레드 생성

request, response 객체를 생성한 뒤 사용자의 URL 요청이 어떤 서블릿 클래스 필요로 하는지 배포 서술자를 통해 알아낸다

만일 그 클래스가 한번도 실행되지 않았거나 현재 메모리에 생성된 인스턴스가 없다면 새로 생성하고 int() 메소드를 실행하여 초기화한 뒤 스레드를 하나 생성한다.

 

 

4. service() 메소드 호출과 서블릿 클래스 실행

스레드만 생성되면 각 스레드에서 service() 메소드가 호출된다

service() 메소드가 호출되면 HTTP 방식이 get일 경우 doGet(), post일 경우 doPost()가 request나 response를 자동으로 호출한다.

 

 

5. 응답과 스레드의 소멸

doGet() 또는 doPost() 메소드가 호출되어 사용자 요청에 따른 동적인 웹페이지를 생성하면, 그 결과물이 담긴 response 객체를 웹 컨테이너가 response 형태로 바꿔 서버에 전송한다. 그리고 사용이 끝난 request, response 객체를 소멸시키고 스레드가 종료된다.

'BackEnd > Java' 카테고리의 다른 글

Jsp :: MVC Model  (0) 2016.01.22
Maven :: Eclipse Luna + SpringFramework 3.2.15 + Maven Project 설치  (0) 2016.01.22
Java :: JDK와 JRE  (0) 2016.01.20
Java :: 이클립스 없이 cmd 창으로 컴파일 하기  (2) 2016.01.20
JAVA :: JRE 오류  (0) 2016.01.15

+ Recent posts