IT/Servlet, Jsp

Servlet Life Cycle과 Servlet 동작방식

나27 2017. 9. 17. 20:40
반응형

Servlet Life Cycle


서블릿 생성자(instance) -> init() -> service()-> doGet() or doPost() -> destroy()


init() 

서블릿이 메모리에 로드될 때 1번 호출(처음 호출 시), 리로드(수정) 되면 destroy가 호출되고

다시 url에 요청시 새로 호출된다

Thread가 작동됨 / 시작

 service() 

모든 요청은 service()를 통해서 doXXX()로 이동됨, 통상적으로 구현하지 않고 

doGet, doPost를 호출하는 용도로 이용됨

 doGet() 

기본 호출 방식, GET방식으로 서블릿을 요청하면 호출

계속 페이지 새로고침하면 계속 호출된다

 doPost() 


POST방식으로 서블릿을 요청하면 호출


 destroy()

서블릿이 메모리에서 해제되면 호출, 코드가 수정되면 호출된다(재가동, 리로드)

시스템 자원에 의해서 메모리 해제되기도 한다 / 종료



서블릿 동작방식


Client의 URL 요청


WebServer가 받아서 Container로 전달(url들이 있다)


Servlet 객체와 Thread 생성


Thread가 service() 메소드 호출


doGet() or doPost()인지 파악하여 각 response, request 객체를 인자로 메소드 호출한다


메소드 호출 뒤 웹페이지 생성 후


다시 Container->WebServer->Client로 응답을 전해준다



반응형