728x90
SMALL

✅ 1. Tomcat이란?

Apache Tomcat은 Java 기반의 **웹 애플리케이션 서버(Web Application Server)**입니다.

Tomcat의 역할:

역할설명
📦 웹 애플리케이션 실행 .war 파일(웹 앱 패키지)을 실행
🌐 HTTP 요청 처리 클라이언트의 요청(예: 브라우저)을 받아 처리
🔁 서블릿 실행 서블릿을 실행하고 그 결과를 클라이언트에 반환
📜 JSP 처리 JSP(Java Server Pages)를 실행하고 HTML로 변환
 

핵심: Tomcat은 서블릿 컨테이너입니다!


✅ 2. 서블릿 컨테이너란?

💡 "서블릿 컨테이너 = 서블릿을 실행시키는 환경"

서블릿은 자바 코드로 작성된 웹 컴포넌트예요.
이 서블릿을 실행하려면 다음이 필요합니다:

  • HTTP 요청을 받고,
  • 서블릿 객체를 생성하거나 재사용하고,
  • doGet() / doPost() 같은 메서드를 호출하고,
  • 응답을 클라이언트로 전송하는

이 모든 작업을 처리하는 것이 바로 서블릿 컨테이너입니다.
Tomcat이 그 역할을 합니다.


✅ 3. 서블릿(Servlet)이란?

📘 정의:

Servlet은 Java EE(지금은 Jakarta EE)의 표준 인터페이스로, HTTP 요청을 받아 처리하고 응답을 생성하는 Java 클래스입니다.

🔍 한마디로 요약하면:

서블릿은 Java로 만든 웹 요청 처리기예요.

HTML이나 JSP는 주로 **화면(UI)**을 만드는 데 쓰이지만,
서블릿은 클라이언트의 요청을 받고 처리한 뒤 응답을 만들어 보내는 역할을 합니다.

 

🧩 서블릿의 위치 (웹 요청 흐름 예시)

   [브라우저] → [Tomcat(서블릿 컨테이너)] → [서블릿 클래스] → 응답 반환
 
  1. 브라우저가 /hello 요청
  2. Tomcat이 HelloServlet을 찾고 실행
  3. 서블릿이 doGet() 또는 doPost() 메서드에서 요청 처리
  4. 처리 결과(HTML, JSON 등)를 응답으로 보냄

🔧 예시 구조:

@WebServlet("/hello")
public class HelloServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws IOException {
        
        response.setContentType("text/html");
        response.getWriter().println("<h1>Hello from Servlet!</h1>");
    }
}

해석:

  • @WebServlet("/hello") → /hello로 요청이 오면 이 서블릿이 실행됨
  • doGet() → HTTP GET 요청을 처리
  • response.getWriter().println() → 브라우저에 출력할 내용 작성

🔁 서블릿의 생명주기 (Tomcat이 관리):

  1. 생성: 최초 요청 시 서블릿 객체가 만들어짐 (1번만 생성)
  2. 초기화: init() 메서드 호출
  3. 요청 처리: doGet() or doPost() 호출
  4. 종료: 서버 종료 시 destroy() 호출

이 덕분에 우리는 서블릿 객체를 직접 만들거나 관리하지 않아도 됩니다. Tomcat이 다 해줍니다!


📚 서블릿의 핵심 기능

기능설명
요청(Request) 받기 HttpServletRequest 객체 사용
응답(Response) 보내기 HttpServletResponse 객체 사용
파라미터 읽기 request.getParameter("name") 등
세션 관리 request.getSession()
리다이렉트/포워딩 response.sendRedirect(), RequestDispatcher.forward()
 

✅ 4. 왜 서블릿을 쓰는가?

  • 자바 코드로 동적 웹페이지를 만들 수 있다.
  • 요청/응답 흐름을 쉽게 제어할 수 있다.
  • 보안, 스레드, 세션 등을 관리하기 편하다.

✅ 5. JSP와 서블릿 차이

항목서블릿JSP
작성 방식 Java 코드 HTML + Java
용도 로직 중심 화면 중심
유지보수 어려움 쉬움
컴파일 미리 컴파일됨 최초 실행 시 서블릿으로 변환
 

👉 실제로 JSP도 결국 서블릿으로 변환되어 Tomcat에서 실행됩니다.


✨ 요약

개념설명
Tomcat 서블릿을 실행하는 서버 (서블릿 컨테이너)
서블릿 컨테이너 서블릿의 생명주기를 관리하고, HTTP 요청/응답을 처리
서블릿 자바로 만든 웹 처리기 – HTTP 요청을 받아 로직 수행 후 응답 생성
 
728x90
반응형
LIST

'Self Study > Others' 카테고리의 다른 글

WEB 과 WAS  (0) 2025.07.07
Spring 과 Servlet  (1) 2025.07.05
[Server] 서버 기본 LinuxOS 에서 timezone 설정하기  (0) 2024.08.19

+ Recent posts