서블릿(Servlet)

Ming·2024년 7월 1일

서블릿

  • 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

0개의 댓글