Java/Java

[Java] 서블릿(Servlet)이란?

너무 궁금해 2025. 4. 9. 13:23


🌐 서블릿(Servlet)이란? 

자바로 웹 애플리케이션을 개발하다 보면 Servlet(서블릿) 이라는 개념을 반드시 만나게 됩니다.
서블릿은 웹 요청을 처리하고 응답을 만들어주는 서버 측 프로그램이에요.
이번 글에서는 서블릿의 개념부터 동작 원리, 기본 코드 예제까지 쉽게 정리해드립니다! 🚀

📝 서블릿(Servlet)이란?

Servlet(서블릿)은 Java 언어로 작성된 서버 사이드 웹 컴포넌트로, 클라이언트의 요청(Request)을 받아 응답(Response)을 반환하는 역할을 합니다.

  • HTTP 요청을 처리하고 HTML, JSON 등의 결과를 돌려줌
  • Java 기반이기 때문에 이식성이 뛰어나고 안정성도 우수
  • Jakarta EE (기존 Java EE)의 표준 기술

📝 서블릿의 동작 흐름

  1. 사용자가 웹 브라우저에서 요청을 보냄 (http://example.com/hello)
  2. 웹 서버(예: Tomcat)가 이 요청을 받고 서블릿에게 전달
  3. 서블릿이 doGet() 또는 doPost() 메서드로 요청을 처리
  4. 처리 결과를 HTML 형식으로 응답 생성
  5. 브라우저는 그 응답을 사용자에게 표시

📝 서블릿의 주요 메서드

메서드 설명
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도 결국 서블릿 위에서 동작합니다!

📝 서블릿을 실행하려면?

  1. Java 프로젝트 생성
  2. HttpServlet 클래스를 상속한 서블릿 작성
  3. URL 매핑: @WebServlet 또는 web.xml 사용
  4. Tomcat 같은 서블릿 컨테이너에 배포

🎯 마무리

서블릿은 Java 웹 개발의 가장 기초이자 중심이 되는 기술입니다.
비록 직접 서블릿만으로 개발하는 경우는 적지만, JSP, Spring 같은 고급 웹 기술의 기반이 되기 때문에 잘 이해해 두면 웹 개발에 큰 도움이 됩니다!

궁금한 점이 있다면 댓글로 남겨주세요 😊
다음 글에서는 JSP와 서블릿의 차이점 또는 실습 예제를 더 소개해볼게요!