Servlet 서블릿
Java 로 작성된 웹 애플리케이션을 만들기 위한 기술 중 하나
웹 브라우저에서 들어온 요청을 처리하고 응답을 생성하는 Java 프로그램
서블릿은 클라이언트 (웹 브라우저) 의 요청을 받고, HTML or JSON 같은 응답을 만들어준다
Java 로 웹 애플리케이션을 만들 때 가장 기본적인 서버 측 프로그램으로,
JSP, Spring MVC 같은 웹 기술들도 결국 내부적으로 서블릿을 사용한다
Servlet 역할
1. 클라이언트 (웹 브라우저) 가 서버에 HTTP 요청을 보낸다
2. Servlet 이 요청을 받아 필요한 로직을 실행한다 (ex. 데이터베이스 조회)
3. 결과를 HTML or JSON 등의 형태로 응답을 생성하여 클라이언트에게 반환한다
서블릿은, 클라이언트와 서버 간의 "중개자" 역할을 한다고 생각하면 쉽다
Servlet VS JSP VS Spring MVC
기술 | 설명 | 특징 |
Servlet | Java 코드로 직접 요청/ 응답을 처리 | 코드가 길어지고 복잡해진다 |
JSP | HTML 코드 안에 Java 삽입 | 서블릿보다 개발이 편리하다 |
Spring MVC | 서블릿 기반의 프레임워크 | 유지보수 및 확장성이 뛰어나다 |
서블릿 → JSP → Spring MVC 순서로 발전했다
Spring Boot 에서 사용하는 Controller 도 결국 내부적으로 서블릿을 사용한다
Servlet
코드가 길어지고 복잡해진다는 단점이 있다
기본적인 HTTP 요청과 응답 처리에 대한 코드가 많아지면 가독성이 떨어지기 때문에
이런 부분을 보완하기 위해 JSP 나 Spring MVC 같은 기술이 등장했다
JSP
HTML 내에 Java 코드를 삽입할 수 있는 기술
Servlet 보다 더 간단하게 웹 페이지를 만들 수 있지만,
서블릿에 비해 복집한 로직 처리가 필요한 경우 유지보수가 어려워질 수 있다
Spring MVC
서블릿을 기반으로 한 프레임워크
보다 높은 수준의 추상화를 제공하여 코드가 깔끔하고, 유지보수 및 확장성이 뛰어나서
실제 개발에서는 Spring MVC 가 많이 사용된다
Spring Boot
Spring MVC 의 설정을 간소화한 프레임워크
'TIL' 카테고리의 다른 글
Assertion 개념과 사용 w/ Playwright (1) | 2025.02.19 |
---|---|
Playwright 작성해보기 w/ Python (0) | 2025.02.18 |
Embedded Tomcat 내장 톰캣 (1) | 2025.02.12 |
Tomcat (0) | 2025.02.08 |
Java Application 실행 환경 구축 (1) | 2025.02.07 |