[CS 스터디] 서블릿(Servlet)

한주영·2023년 4월 30일
0

Servlet

개념

자바(Java)웹 어플리케이션 개발에 사용되는 기술
클라이언트 요청(Request)를 요청하고
그에따른 응답(Response)를 생성하는 자바 클래스

•서블릿은 웹서버에서 동작
->웹 어플리케이션에서 필요한 작업을 수행한후
결과를 반환.
•자바 웹 프레임워크인 JSP(JavaServer Pages)와
함께 사용
•HTTP요청 및 응답을처리 - >HTTP 메서드
(GET,POST,PUT,DELETE)등을 사용하여
클라이언트의 요청을 처리함
•클라이언트의 쿠키와 세션도 관리가 가능
•웹 어플리케이션의 생명주기(Life Cycle)을 가지며
초기화(init), 요청처리(service), 종료(destory)
의 단계를 가진다
-> 이를 통해 초기화 과정에서 필요한 리소스 할당,
요청 처리과정에서 클라이언트의요청을 처리 후
종료과정에서 리소스를 해제한다.

tomcat

Apache 소프트웨어 재단에서 개발한 오픈소스 웹 어플리케이션서버
자바 서블릿(Servlet)+(JSP)JavaServer Pages를
실행하기 위한 컨테이너를 의미
웹어플리케이션을 구동하는 데 사용됨

구성요소

•자바 서블릿 컨테이너
-자바 서블릿 및 JSP페이지의 실행관리
•웹 서버
-정적인 웹페이지, 그림 ,동영상을 처리한다.

주요기능

•다양한 플랫폼에서 동작 가능
•자바 서블릿 및 JSP 페이지의 실행 및 관리
•웹 서버 기능 제공
•HTTP, HTTPS 프로토콜 지원
•클러스터링(Clustering) 기능 제공
•세션(Session) 관리 기능 제공
•보안 기능 제공

filter

서블릿에서 필터(Filter)는 클라이언트의 요청(Request)을 가로채서, 요청에 대한 처리를 수행한 후 서블릿에 전달하는 기능을 제공
필터는 서블릿 컨테이너에서 관리되며, 서블릿의 요청 및 응답 처리 과정에서 필요한 작업을 수행할 수 있다.

서블릿 필터의 기능

1.요청 데이터 검증 및 처리: 필터는 클라이언트의 요청 데이터를 검증하고, 필요한 처리 작업을 수행한다. 예를 들어, 요청 파라미터의 값이 유효한지 확인하거나, 요청 데이터의 암호화를 수행할 수 있다

2.인증 및 권한 부여: 필터는 클라이언트의 인증 정보를 확인하고, 해당 클라이언트에게 권한을 부여할 수 있다. 예를 들어, 로그인 정보를 확인하고, 인증된 사용자에게만 접근 권한을 부여할 수 있다.

3.캐싱 및 압축: 필터는 클라이언트의 요청을 캐싱하거나, 응답 데이터를 압축하여 네트워크 대역폭을 줄일수있다.

서블릿 필터는 다른 서블릿과 함께 사용되며, 여러 개의 필터가 적용될 수 있다.
필터는 web.xml 파일에 등록하여 사용하거나, 애노테이션(annotation)을 사용하여 등록할 수 있다.

Servlet container

동작과정

1.클라이언트의 요청이 들어온다.
2.요청을 처리하기 위해 적절한 서블릿 객체를 생성한다.
이때, 해당 서블릿이 이미 생성되어 있다면, 새로운 객체를 생성하지 않고 기존 객체를 재사용한다.
3.요청 정보(Request)를 서블릿에 전달하고, 서블릿이 요청을 처리하도록 한다.
4.서블릿은 요청 처리를 완료하고, 응답(Response) 데이터를 생성한다.
5.서블릿 컨테이너는 생성된 응답 데이터를 클라이언트에게 전송한다.
6.응답 처리가 완료되면, 서블릿 컨테이너는 해당 서블릿 객체를 소멸시킨다.

profile
백엔드개발자가 되고싶은 코린이:)

0개의 댓글