일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- PS
- 백트래킹
- 연결리스트
- 즉시로딩
- SQL프로그래밍
- 스토어드 프로시저
- 비관적락
- JPQL
- 이진탐색
- CHECK OPTION
- 동적sql
- BOJ
- 일대다
- 스프링 폼
- fetch
- 낙관적락
- execute
- shared lock
- 유니크제약조건
- 다대다
- eager
- exclusive lock
- 다대일
- 데코레이터
- 연관관계
- querydsl
- 힙
- 지연로딩
- FetchType
- dfs
- Today
- Total
흰 스타렉스에서 내가 내리지
서블릿 본문
Servlet(서블릿)은 자바 언어를 기반으로 하는 웹 애플리케이션 개발을 위한 서버 측 프로그래밍 기술 중 하나입니다.
Servlet은 클라이언트의 요청에 동적으로 반응하고, 그 결과를 생성하여 다시 클라이언트에게 반환하는 역할을 합니다.
주로 웹 애플리케이션 서버에서 실행되며, Java EE(Enterprise Edition)와 Jakarta EE(이전의 Java EE)에서 사용됩니다.
Servlet의 주요 특징과 개념은 다음과 같습니다:
1. 라이프사이클(Lifecycle): Servlet은 라이프사이클을 가지고 있습니다. 초기화, 서비스 처리, 소멸 등의 단계로 나뉩니다. 이 라이프사이클을 통해 Servlet은 특정 이벤트에 대한 처리를 수행할 수 있습니다.
2. HTTP 프로토콜 지원: 주로 HTTP 프로토콜을 통해 웹 브라우저와 통신합니다. HTTP 요청을 받아 처리하고, 그에 대한 응답을 생성하여 클라이언트에게 전송합니다.
3. 자바 클래스로 구현: Servlet은 자바 언어로 작성된 클래스입니다. Java Servlet API를 사용하여 Servlet 클래스를 작성하고, 웹 애플리케이션의 WEB-INF 디렉토리에 배치합니다.
4. 웹 애플리케이션 서버에서 실행: Servlet은 웹 애플리케이션 서버(예: Apache Tomcat, Jetty)에서 동작합니다. 웹 애플리케이션 서버는 클라이언트의 요청을 받아 Servlet을 호출하고, Servlet은 그에 따른 동적인 콘텐츠를 생성합니다.
5. 멀티스레드 지원: Servlet 컨테이너는 여러 클라이언트의 요청을 동시에 처리하기 위해 멀티스레드를 사용합니다. 따라서 개발자는 스레드 동기화에 주의해야 합니다.
6. Servlet 컨테이너: Servlet은 자체로 실행되는 것이 아니라 Servlet 컨테이너(웹 애플리케이션 서버) 내에서 실행됩니다. Servlet 컨테이너는 Servlet의 라이프사이클을 관리하고, 요청을 분배하며, 여러 기능을 제공합니다.
간단한 Servlet의 예제 코드는 다음과 같습니다:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
response.getWriter().println("<html><body><h2>Hello, Servlet!</h2></body></html>");
}
}
- 간단한 "Hello, Servlet!" 메시지를 웹 브라우저에 반환하는 Servlet을 보여준다.
# 서블릿 컨테이너 동작 방식
- 웹 애플리케이션 서버가 Client로부터 request를 받아 Servlet을 호출. Servlet은 그에 따라 컨텐츠를 생성하고 웹 애플리케이션에 응답.
'Spring' 카테고리의 다른 글
Spring Security + JWT 흐름 간략하게 (0) | 2024.01.21 |
---|---|
서블릿 예외 처리 - 필터, 인터셉터 (0) | 2023.12.29 |
서블릿 필터, 인터셉터 (1) | 2023.12.24 |
쿠키와 세션, 그리고 서블릿 HTTP 세션 (1) | 2023.12.23 |
프로덕션 준비 - 액츄에이터 (actuator) (1) | 2023.12.17 |