❓ Servlet
서버 쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스를 말한다.
Servlet 특징
- 서버 쪽에서 실행되면서 기능을 수행한다.
- 기존의 정적인 웹 프로그램의 문제점을 보완하여 동적인 여러 가지 기능을 제공한다.
- 스레드 방식으로 실행된다.
- 자바로 만들어져 자바의 특징(객체지향)을 가진다.
- 자바 기반의 웹 컴포넌트로서 java 확장자를 가진다.
- 컨테이너에서 실행된다.
- 컨테이너의 종류에 상관없이 실행된다.
- 보안기능을 적용하기 쉽다.
- 웹 브라우저에서 요청 시 기능을 수행한다.
- 클라이언트는 브라우저를 이용한 URL 지정을 통해 서블릿에 요청 가능하다.
- 서블릿의 응답 결과는 일반적으로 HTML 형식으로 서비스된다.(자바 코드를 이용해서 클라이언트에 HTML 코드로 전송하는 추가 작업이 필요하다)
- MVC 패턴의 Controller 역할로서 서블릿이 사용된다.
❗ 웹 브라우저에서 클라이언트의 요청에 따라 서버가 실행할 수 있는 자바 프로그램은 서블릿 뿐이다.
서블릿을 구현할 때 반드시 상속받아야 하는 클래스가 java.servlet.http.HttpServlet 클래스이다.
HttpServlet에는 웹상에서 클라이언트 요청이 있을 때 해당 서블릿을 실행하는 모든 조건이 포함되어 있기 때문에,
모든 서블릿은 반드시 HttpServlet을 상속 받아야 한다.
HttpServlet은 GenericServlet 클래스를 상속받고, Serializable, Servlet, ServletConfig 인터페이스가 구현되어 있다.
❗ Servlet 인터페이스
Servlet은 서블릿 프로그램을 개발할 때 반드시 구현해야 하는 메서드를 선언하고 있는 인터페이스이다.
init(), service(), destroy(), ge tServletConfig(), getServletInfo() 등 5개의 메서드를 선언하고 있다.
❗ GenericServlet 클래스
GenericServlet은 Servlet 인터페이스를 구현하여 클라이언트-서버 환경에서 서버 단의 애플리케이션으로서 필요한 기능을 구현한 추상 클래스이다. service() 메서드를 제외한 모든 메서드를 정의하여 적절한 기능으로 구현하였다.
GenericServlet 클래스를 상속하면 애플리케이션의 프로토콜에 따라 메서드 재정의 구문을 적용해야 한다.
❗ HttpServlet 클래스
HttpServlet 클래스는 GenericServlet 클래스를 상속하여 service() 메서드를 재정의함으로써 HTTP 프로토콜에 알맞은 동작을 수행하도록 구현한 클래스이다. HTTP 프로토콜 기반으로 브라우저로부터 요청을 전달받아서 처리하도록 하는 클래스이다. service() 메서드에는 요청 방식에 따라 doGet(), doPost() 등 정해진 사양의 메서드가 호출되도록 구현되어 있다.
'JSP' 카테고리의 다른 글
서블릿 맵핑 방법 (2) | 2023.10.11 |
---|---|
Servlet 실행순서 (1) | 2023.10.10 |
컨테이너 (0) | 2023.10.08 |
Session (0) | 2023.10.05 |
JSTL(JSP Standard Tag Library)-1 (2) | 2023.08.07 |