서블릿
- Server Side Applet으로 자바 언어로 구현되는 서버 프로그램이다.
- 웹 브라우저로부터 요청을 받아 처리하고 결과를 다시 웹 브라우저로 전송하는 역할을 한다.
jakarta.servlet.http.HttpServlet 클래스를 상속해야 한다.
- HttpServlet 클래스는 서블릿이 웹상에서 HTTP 프로토콜을 이용해 서비스를 처리하기 위해 반드시 상속해야 하는 클래스이다.
서블릿 동작구조
- 클라이언트가 웹 브라우저를 통해 요청을 보낸다.
- 해당 요청이 서블릿에 대한 요청이면 서블릿 컨테이너에게 처리를 넘긴다.
- 서블릿에서 요청에 대한 실행이 완료된 후에는 서블릿 컨테이너가 실행 결과를 웹서버에 전달한다.
- 웹서버는 서비스를 요청한 클라이언트에 응답한다.
- 컨테이너의 서블릿에 대한 설정은 배포 서술자(web.xml)에 작성한다.
서블릿 생명주기
- 첫 번째 요청일 경우, 서블릿 객체를 생성하고 init() 메소드를 호출한다.
- 이후 요청에 대해서는 서블릿 객체를 생성하고 init() 메소드를 호출하지 않는다.
- 다음에 service() 메소드가 클라이언트 요청 방식에 따라 doGet() 또는 doPost() 메소드를 호출한다.
- 최종적으로 서블릿이 서비스 되지 않았을 때 destroy() 메소드를 호출한다.
- destroy() 메소드는 보통 서버가 종료되었을 때, 서블릿의 내용이 변경되어 재컴파일 될 때 호출된다.
HttpServlet 라이브러리 인식을 못하는 경우
import jakarta.servlet.http.HttpServlet;
public class FirstServlet extends HttpServlet {
private static final long serialVersionUID = -5206829137206333067L;
}
Build Path 설정 변경 필요
- Classpath -> Add Libray -> Server Runtime -> Apach Tomcat 선택 후 Finish

서블릿 실습
https://github.com/mjms0214/BEYOND_SW_CAMP_8/tree/main/servlet-jsp/01_Servlet