서블릿 API 계층 구조와 기능
2022. 4. 30. 14:09ㆍjava/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 |