728x90
반응형
JSP가 등장하기 전, 자바를 이용해 웹 애플리케이션을 구현하기 위한 대표적인 기술이 바로 서블릿(Servlet)입니다. 지금도 웹의 핵심 기술로 사용되며, JSP와 함께 MVC 구조에서 컨트롤러 역할을 수행합니다.
1. 서블릿(Servlet)이란?
서블릿(Servlet)은 자바를 사용하여 서버 측에서 실행되는 웹 애플리케이션 컴포넌트입니다.
클라이언트(주로 브라우저)로부터 요청을 받아 처리하고, 그에 대한 응답을 보내주는 서버 프로그램입니다.
- 웹 애플리케이션에서 동적인 처리를 담당
- HTML만으로는 불가능한 로직 처리와 데이터베이스 연결 가능
- jakarta.servlet.http.HttpServlet 클래스를 상속하여 작성
2. 서블릿의 특징
항목 | 설명 |
동적 응답 처리 | 클라이언트의 요청에 따라 결과가 동적으로 생성됩니다. |
자바 기반 | 자바 언어로 구현되어 플랫폼 독립적입니다. |
컨트롤러 역할 | MVC 패턴에서 컨트롤러로 사용되어, JSP와 함께 웹 구조를 구성합니다. |
멀티스레드 처리 | 하나의 서블릿 인스턴스가 여러 요청을 스레드로 처리합니다. |
JSP의 기반 기술 | JSP 역시 내부적으로는 서블릿으로 변환되어 작동합니다. |
3. 서블릿 컨테이너란?
서블릿은 단독으로 동작할 수 없으며, **서블릿 컨테이너(Servlet Container)**라는 환경에서 실행됩니다.
대표적인 컨테이너로는 Apache Tomcat이 있으며, 이는 서블릿의 생명주기와 요청/응답을 관리해줍니다.
4. 서블릿 컨테이너의 역할
1. 통신 지원
- HTTP 요청을 처리하기 위해 서버는 포트를 열고 I/O 스트림을 구성해야 합니다.
- 서블릿 컨테이너는 이를 단순화하여 서버-클라이언트 간 통신을 쉽게 지원합니다.
2. 수명주기 관리
- 서블릿 클래스를 인스턴스화하고 초기화 메서드(init)를 호출한 후, 요청이 들어오면 service() 메서드 실행
- 응답이 완료되면 destroy()를 호출하여 자원을 정리하고 가비지 컬렉션을 통해 객체를 제거합니다.
3. 멀티스레딩 처리
- 하나의 서블릿 인스턴스가 여러 스레드를 통해 여러 사용자의 요청을 동시에 처리할 수 있습니다.
- 이를 통해 높은 처리 성능과 빠른 응답이 가능합니다.
4. 보안 및 JSP 지원
- 서블릿 보안은 선언적으로 설정이 가능하며, 개발자가 직접 코드를 작성하지 않아도 인증 및 접근 제어를 설정할 수 있습니다.
- JSP 파일도 내부적으로는 서블릿으로 변환되므로, JSP 실행 환경을 자동으로 지원합니다.
5. 서블릿은 왜 중요한가요?
- 웹 애플리케이션의 핵심 기반 기술
- JSP와 함께 사용되며, 백엔드 개발의 구조적인 흐름을 구성
- 이후 스프링(Spring) 등의 프레임워크에서도 기반 기술로 활용
6. 마무리
서블릿은 단순히 오래된 기술이 아니라, 현재의 많은 웹 프레임워크들이 기반하고 있는 핵심 개념입니다. 웹 애플리케이션의 요청 흐름을 이해하는 첫걸음으로 반드시 익혀야 할 중요한 기술입니다.
반응형
'1인칭 학습 시점_웹개발 > JSP' 카테고리의 다른 글
[JSP] JSP에서의 요청 처리 흐름과 스코프 개념 정리 (0) | 2024.08.26 |
---|---|
[JSP] JSP에서 HTTP 요청 처리 방식과 액션 태그 정리 (0) | 2024.08.22 |
[JSP] JSP 페이지 기본 구조 정리 (0) | 2024.08.21 |