의문점 공부하기/🧾공부하며

🧾 Servlet에 대해

아리빠 2023. 8. 7. 19:28

Servlet 인터페이스:

javax.servlet.Servlet 인터페이스는 모든 서블릿 클래스가 구현해야 하는 기본 인터페이스
init, service, destroy, getServletConfig, getServletInfo 등의 메서드를 정의하


ServletConfig 인터페이스:
javax.servlet.ServletConfig 인터페이스는 서블릿의 초기화 파라미터를 읽어오기 위해 사용하는 인터페이스
getInitParameter, getInitParameterNames, getServletContext 등의 메서드를 정의하고 있다.

 

ServletRequest 인터페이스:
javax.servlet.ServletRequest 인터페이스는 클라이언트 요청 정보를 처리하기 위해 사용하는 인터페이스
getAttribute, getAttributeNames, getParameter, getParameterNames, getInputStream 등의 메서드를 정의하

 

ServletResponse 인터페이스:
javax.servlet.ServletResponse 인터페이스는 서블릿의 응답 정보를 처리하기 위해 사용하는 인터페이스
getWriter, getOutputStream, setContentType, setContentLength 등의 메서드를 정의

 

ServletContext 인터페이스:
javax.servlet.ServletContext 인터페이스는 웹 애플리케이션의 컨텍스트 정보를 읽어오거나 리소스를 접근하는데 사용하는 인터페이스
getInitParameter, getInitParameterNames, getResource, getResourceAsStream, getContextPath 등의 메서드를 정의하고 있습니다.


HttpServlet 클래스:
javax.servlet.http.HttpServlet 클래스는 GenericServlet 클래스를 상속받아 HTTP 프로토콜을 기반으로 동작하는 서블릿을 개발하기 위해 사용하는 클래스
doGet, doPost, doPut, doDelete, service 등의 메서드를 오버라이딩하여 HTTP 요청에 대한 처리를 구현


인텔리에도 GenericServlet이 있는지 궁금해서 찾아본 내용

++GenericServlet은 서블릿을 개발하기 위한 기반 클래스

GenericServlet 클래스는 javax.servlet 패키지에 속하며, HttpServlet 클래스의 조상 클래스

HttpServlet은 HTTP 프로토콜을 기반으로 동작하는 서블릿을 개발할 때 사용하는 클래스이며, GenericServlet은 이를 일반화한 클래스로서 모든 프로토콜에 적용 가능한 기본적인 서블릿을 개발할 때 사용

GenericServlet 클래스의 주요 메서드:

init(ServletConfig config): 서블릿을 초기화하기 위한 메서드로, 서블릿의 초기화 과정에서 호출
service(ServletRequest req, ServletResponse res): 클라이언트 요청을 처리하기 위한 메서드로, 이 메서드를 서블릿에서 오버라이딩하여 실제 요청에 대한 처리를 구현
destroy(): 서블릿이 소멸될 때 호출되는 메서드로, 서블릿의 리소스 정리 등에 사용
getServletConfig(): ServletConfig 객체를 반환하는 메서드로, 서블릿 설정 정보에 접근을 도움
getServletInfo(): 서블릿의 정보를 반환하는 메서드로, 서블릿의 버전 등에 대한 정보를 제공


GenericServlet 클래스를 상속받아서 사용하면, 간단한 일반화된 서블릿을 개발할 수 있지만, 보통 실제 웹 애플리케이션에서는 HttpServlet 클래스를 상속받아서 HTTP 프로토콜을 기반으로 동작하는 서블릿을 개발하는 경우가 많다.