마케팅스프린트
[ GitHub ]

[ jungyijun@naver.com ]


  • Category
    • 마케팅 자동화
    • old posting
      • ChatGPT
      • Java
      • MySQL
      • JSP
      • Spring Framework
      • Node.js
Total
Today
Yesterday
hELLO · Designed By 정상우.
old posting/JSP

[JSP] 서블릿(Servlet)의 동작순서 및 생명 주기(Life cycle)그리고 선처리, 후처리

2021. 2. 7. 18:41

서블릿의 동작 순서

웹브라우저 → 웹서버 →웹어플리케이션서버 →서블릿 컨테이너

                                                                    * 쓰레드 생성

                                                                    * servlet 객체 생성

 

Servlet 기술 : CGI를 대신할 수 있는 Java 기술(기존의 CGI의 차이점)

1) 기존 CGI의 로딩과 초기화 작업을 진행하기 때문에 서버에 대한 오버헤드가 크다.   

 

     서블릿 > 한번 메모리에 로딩되어 수행되면 작업이 모두 수행되어 끝나더라도 메모리에서 해제 되지 않는다.(재활용)

     계속적인 수행 요청이 들어와도 메모리 로딩이나 초기화를 처리하지 않는다.

     모든 서블릿은 한번만 메모리에 로딩 되어진다.

 

2) 특정 웹 서버에 비의존적이다.

 

     서블릿 > Java 언어로 구현되는 프로그램이기 때문에 플랫폼(운영체제)과는 무관한 실행 파일을 만들 수 있다.

     기존의 CGI는 성능향상을 꽤하기 위해서 추가적인 API가 필요했던 것에 비해서 서블릿은 Servlet API를 활용해서 개발하면 된다.

     Servlet 엔진만 활용해도 된다.

 

3) 서블릿은 멀티 쓰레드로 동작한다.

   Servlet은 CGI처럼 웹브라우저로 부터의 요청에 대해 각각의 프로세스를 생성하지 않는다.

   각 요청에 대해서 쓰레드로 동작한다.

 

Servlet의 생명 주기(Life cycle)

Servlet 객체 생성 → init() 호출 → service(), doGet(), doPost() 호출 → destroy() 호출

        최초 한번              최초 한번                         요청 시 매번                                  마지막 한번  

 

1. 요청이 오면, Servlet 클래스가 로딩되어 요청에 대한 Servlet 객체가 생성된다.

2. 서버는 init() 메소드를 호출해서 Servlet을 초기화한다..

3. service() 메소드를 호출해서 Servlet이 브라우저의 요청을 처리하도록 한다.

4. service() 메소드는 특정 HTTP 요청(GET, POST 등)을 처리하는 메소드(doGet(), doPost() 등)를 호출한다.

5. 서버는 destroy() 메소드를 호출하여 Servlet을 제거한다.

 

Servlet의 선처리(init() 전), 후처리(destroy() 후)

* 선처리 : 의존하는 객체를 설정한 이후에 초기화 작업을 수행 할 메소드에 적용

* 선처리를 위한 어노테이션 : @PostConstruct

 

* 후처리 : 컨테이너에서 객체를 제거하기전에 호출 된 메소드에 적용

* 후처리를 위한 어노테이션 : @PreDestroy

저작자표시 (새창열림)
'old posting/JSP' 카테고리의 다른 글
  • [JSP] Context Path와 서블릿 초기화
  • [JSP] doGet과 doPost의 한글처리(Encoding)
  • [JSP] Servlet 작성규칙 및 객체와 doGet() / doPost() 호출하기
  • [JSP] Servlet과 URL 맵핑이란
마케팅스프린트
마케팅스프린트
쿠팡, 스마트스토어 자동화 솔루션

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.