Java/Java
[Java] 서블릿(Servlet)이란?
너무 궁금해
2025. 4. 9. 13:23

🌐 서블릿(Servlet)이란?
자바로 웹 애플리케이션을 개발하다 보면 Servlet(서블릿) 이라는 개념을 반드시 만나게 됩니다.
서블릿은 웹 요청을 처리하고 응답을 만들어주는 서버 측 프로그램이에요.
이번 글에서는 서블릿의 개념부터 동작 원리, 기본 코드 예제까지 쉽게 정리해드립니다! 🚀
📝 서블릿(Servlet)이란?
Servlet(서블릿)은 Java 언어로 작성된 서버 사이드 웹 컴포넌트로, 클라이언트의 요청(Request)을 받아 응답(Response)을 반환하는 역할을 합니다.
- HTTP 요청을 처리하고 HTML, JSON 등의 결과를 돌려줌
- Java 기반이기 때문에 이식성이 뛰어나고 안정성도 우수
- Jakarta EE (기존 Java EE)의 표준 기술
📝 서블릿의 동작 흐름
- 사용자가 웹 브라우저에서 요청을 보냄 (
http://example.com/hello
) - 웹 서버(예: Tomcat)가 이 요청을 받고 서블릿에게 전달
- 서블릿이
doGet()
또는doPost()
메서드로 요청을 처리 - 처리 결과를 HTML 형식으로 응답 생성
- 브라우저는 그 응답을 사용자에게 표시
📝 서블릿의 주요 메서드
메서드 | 설명 |
---|---|
init() |
서블릿 초기화 시 1번 실행 (서버 시작 시) |
doGet() |
GET 방식 요청 처리 |
doPost() |
POST 방식 요청 처리 |
destroy() |
서블릿 종료 시 1번 실행 (서버 종료 시) |
📝 서블릿 코드 예제
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html;charset=UTF-8");
PrintWriter out = res.getWriter();
out.println("<h1>Hello, Servlet!</h1>");
}
}
📝 서블릿의 특징 요약
- ✅ Java 기반의 웹 기술
- ✅ HTTP 요청을 받아 처리
- ✅ 웹 서버(Tomcat 등)에서 실행됨
- ✅ JSP, Spring 등 웹 프레임워크의 기반 기술
📝 서블릿 vs JSP vs Spring MVC
기술 | 설명 |
---|---|
Servlet | Java 코드로 모든 웹 요청을 직접 처리 |
JSP | HTML에 Java 코드를 섞어 동적 페이지 생성 |
Spring MVC | 서블릿 기반의 고급 프레임워크. 구조화된 웹 개발 지원 |
📌 JSP와 Spring도 결국 서블릿 위에서 동작합니다!
📝 서블릿을 실행하려면?
- Java 프로젝트 생성
HttpServlet
클래스를 상속한 서블릿 작성- URL 매핑:
@WebServlet
또는web.xml
사용 - Tomcat 같은 서블릿 컨테이너에 배포
🎯 마무리
서블릿은 Java 웹 개발의 가장 기초이자 중심이 되는 기술입니다.
비록 직접 서블릿만으로 개발하는 경우는 적지만, JSP, Spring 같은 고급 웹 기술의 기반이 되기 때문에 잘 이해해 두면 웹 개발에 큰 도움이 됩니다!
궁금한 점이 있다면 댓글로 남겨주세요 😊
다음 글에서는 JSP와 서블릿의 차이점 또는 실습 예제를 더 소개해볼게요!