서블릿 API 계층 구조와 기능

2022. 4. 30. 14:09java/servlet_jsp

*서블릿 클래스 계층 구조

 1)GenericServlet 추상클래스는 Servlet과 ServletConfig 인터페이스를 구현함

 2)HttpServlet은 GenericServlet 추상클래스를 상속받음

 

*서블릿 API 기능

서블릿 구성요소 기능
Servlet 인터페이스 - javax.sevlet 패키지에 선언되어 있다.
- Servlet 관련 추상 메서드를 선언
- init(), service(), destroy(), getServletInfo(), getServletConfig()를 선언
ServletConfig 인터페이스 - javax.servlet 패키지에 선언되어 있다.
- Servlet 기능 관련 추상 메서드가 선언되어 있다.
- getInitParameter(), getInitParameterNames(), getServletContext(),
  getServletName()이 선언되어 있다.
genericServlet 클래스 - javax.servlet 패키지에 선언되어 있다.
- 상위 두 인터페이스를 구현하여 일반적인 서블릿 기능을 구현한 클래스다.
- genericServlet을 상속받아 구현한 사용자 서블릿은 사용되는 프로토콜에 따라 각각 
  service()를 오버라딩해서 구현한다.(*1)
HttpServlet 클래스 - javax.servlet.http 패키지에 선언되어 있다.
- GenericServlet을 상속받아 HTTP 프로토콜을 사용하는 웹 브라우저에서 서블릿 기능을 
  수행
- 웹 브라우저 기반 서비스를 제공하는 서블릿을 만들 때 상속받아 사용
- 요청 시 service()가 호출되면서 요청 방식에 따라 doGet()이나 doPost()가 차례 대로 호출

 *1)

 -GenericServlet 클래스는 여러 통신 프로토콜에 대한 서블릿 기능을 구현

 -GenericServlet 클래스를 상속받는 HttpServlet클래스는 HTTP프로토콜을 사용하는 서블릿 기능을 수행함.

 

 !!HttpServlet 클래스의 메서드!!

 

*서블릿의 생명주기(Life Cycle) 메서드

-서블릿 실행 단계마다 호출되어 기능을 수행하는 콜백 메서드

생명 주기 단계 호출 메서드 기능
초기화 init() 서블릿 요청 시 맨 처음 한 번만 호출
서블릿 생성 시 초기화 작업을 수행
작업 수행 doGet()
doPost()
서블릿 요청 시 매번 호출
실제로 클라이언트가 요청하는 작업을 수행
종료 destroy() 서블릿이 기능을 수행하고 메모리에서 소멸될 때 호출
서블릿의 마무리 작업을 주로 수행

*) init()와 destroy() 메서드는 생략 가능하나 doXXX()메서드는 반드시 구현해야함.

'java > servlet_jsp' 카테고리의 다른 글

서블릿  (0) 2022.04.30
서블릿 매핑  (0) 2022.03.13