서블릿은 Java EE로 이루어진 웹 서버의 확장 모듈로 클라이언트(웹 브라우저)로 부터
HTTP 요청을 받아 응답을 생성하여 반환한다.
동적인 웹 페이를 생성하거나 데이터베이스와 상호작용하는 데 사용된다.
서블릿의 주요 기능
- 요청 처리: 클라이언트의 HTTP 요청을 처리하고, 요청에 대한 응답을 생성한다.
- 세션 관리: 사용자 세션을 관리하여 상태를 유지한다.
- 비즈니스 로직: 서버 측에서 비즈니스 로직을 구현하여 클라이언트의 요청에 대해 처리한다.
- 데이터베이스 상호작용: 데이터베이스와 상호작용하여 데이터를 조회하거나 업데이트한다.
- 응답 생성: HTML, XML, JSON 등 다양한 형식의 콘텐츠를 생성하여 클라이언트에 응답한다.
서블릿의 생명 주기
init()
서블릿이 최초로 생성될 때 호출된다. 초기화 작업을 수행하며, 서블릿이 요청을 처리하기 전에 한 번만 호출된다.
@Override
public void init() throws ServletException {
// 초기화 코드
}
service(HttpServletRequest req, HttpServletResponse res)
클라이언트의 요청이 있을 때마다 호출된다. 요청을 처리하고 응답을 생성하는 메소드이다.
@Override
protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
// 요청 처리 코드
}
destroy()
서블릿이 종료될 때 호출된다. 서블릿이 더 이상 사용되지 않거나 서버가 종료될 때 호출된다.
@Override
public void destroy() {
// 정리 코드
}
서블릿의 구성 및 설정
web.xml 파일은 웹 애플리케이션의 배포 디스크립터로, 서블릿의 매핑과 초기화 매개변수를 정의한다.
<web-app>
<servlet>
<servlet-name>exampleServlet</servlet-name>
<servlet-class>com.example.ExampleServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>exampleServlet</servlet-name>
<url-pattern>/example</url-pattern>
</servlet-mapping>
</web-app>
서블릿에서 클라이언트 요청과 응답을 처리하는 방법
HttpServletRequest
클라이언트의 요청 정보를 담고 있는 객체로, 요청 파라미터, 세션, 요청 헤더 등을 읽어온다.
String param = req.getParameter("paramName");
HttpServletResponse
서버가 클라이언트에게 응답을 보내는 객체로, 응답의 콘텐츠 타입, 응답 데이터 등을 설정할 수 있다.
res.setContentType("text/html");
PrintWriter out = res.getWriter();
out.println("<h1>Hello, World!</h1>");
서블릿에서 세션을 관리하는 방법
세션 생성: HttpServletRequest 객체를 통해 세션을 생성
HttpSession session = req.getSession();
세션에 데이터 저장: 세션 객체에 데이터를 저장
session.setAttribute("key", "value");
세션에서 데이터 조회: 저장된 데이터를 세션에서 조회합니다
String value = (String) session.getAttribute("key");
세션 삭제: 세션을 무효화하여 삭제
session.invalidate();
'CS > JAVA' 카테고리의 다른 글
클래스, 인스턴스, 인터페이스, 상속 (0) | 2024.08.15 |
---|---|
인터페이스와 프레임워크의 차이 (0) | 2024.08.15 |
세션의 값을 저장하고 꺼내는 법 (0) | 2024.08.14 |
추상클래스와 인터페이스 (0) | 2024.08.13 |
오버로딩과 오버라이딩 (0) | 2024.08.13 |