본문 바로가기
✨ Back-end/Servlet

[Servlet] HttpServlet, GenericServlet, Servlet 각각의 정의

by 환풍 2023. 8. 8.
728x90

 

Servlet 인터페이스란?

서블릿 프로그램을 개발할 때 반드시 구현해야 하는 메소드를 선언하고 있는 인터페이스

init( ), service( ), destory( ), getServletConfig( ), getServletInfo( ) 등 5개의 메소드를 선언하는데, 이는 서블릿 프로그램 실행의 생명주기와 연관된 메소드이다.

 

GenericServlet 클래스란?

Servlet 인터페이스를 상속하여 클라이언트-서버 환경에서 서버단의 애플리케이션으로서 필요한 기능을 구현한 추상 클래스

service( ) 메소드를 제외한 모든 메소드를 재정의하여 적절한 기능으로 구현하였다. GenericServlet 클래스를 상속하면 애플리케이션의 프로토콜에 따라 메소드 재정의 구문을 적용해야한다.

 

HttpServlet 클래스란?

GenericServlet 클래스를 상속하여 service( ) 메소드를 재정의함으로써 HTTP 프로토콜에 알맞은 동작을 수행하도록 구현한 클래스

즉, HTTP 프로토콜 기반으로 브라우저로부터 요청을 전달받아 처리하도록 하는 클래스이다. service( ) 메소드에는 요청방식(GET , POST)에 따라 doGet(), doPost() 등 정해진 사양의 메소드가 호출되도록 구현되있다.

 

HttpServlet 클래스를 상속해 웹서버 기반의 서블릿 프로그램을 구현할 때 반드시 재정의 해야하는 메소드는 없으며, 어떠한 요청방식을 지원하는 서블릿인지에 따라 필요한 메소드를 재정의해서 구현한다.


이쯤에서 정의하자면

즉, 내가 개발하는 서블릿이 '나' 라면 '부모'는 HttpServlet, '할아버지'는 GenericServlet, '증조할아버지'는 Servlet이다.

반응형

댓글