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(서블릿 컨테이너)] → [서블릿 클래스] → 응답 반환
- 브라우저가 /hello 요청
- Tomcat이 HelloServlet을 찾고 실행
- 서블릿이 doGet() 또는 doPost() 메서드에서 요청 처리
- 처리 결과(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번만 생성)
- 초기화: init() 메서드 호출
- 요청 처리: doGet() or doPost() 호출
- 종료: 서버 종료 시 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 |