본문 바로가기
1인칭 학습 시점_웹개발/JSP

[JSP] 서블릿(Servlet) 개념 정리 – JSP 이전 웹 개발의 핵심 기술

by awesong 2024. 8. 29.
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. 마무리

서블릿은 단순히 오래된 기술이 아니라, 현재의 많은 프레임워크들이 기반하고 있는 핵심 개념입니다. 애플리케이션의 요청 흐름을 이해하는 첫걸음으로 반드시 익혀야 중요한 기술입니다.

반응형