서블릿(Servlet) 이 없을경우 위사진을 봤을때 서버 TCP/IP 부터 다 구현일 해야함,
하지만 서블릿(Servle) 이 있을경우 위 초록색 (비즈니스 로직)을 제외한 나머지를 지원을 해준다.
서블릿(Servlet)
HTTP 요청, 응답 흐름
-HTTP 요청시
WAS 는 Request, Response 객체를 새로 만들어서 서블릿 객체 호출
개발자는 Request 객체에서 HTTP 요청 정보를 편리하게 꺼내서 사용
개발자는 Response 객체에 HTTP 응답 정보를 편리하게 입력
WAS 는 Response 객체에 답겨있는 내용으로 HTTP 응답 정보를 생성
서블릿
서블릿 컨테이너
• 톰캣처럼 서블릿을 지원하는 WAS를 서블릿 컨테이너라고 함
• 서블릿 컨테이너는 서블릿 객체를 생성, 초기화, 호출, 종료하는 생명주기 관리
• 서블릿 객체는 싱글톤으로 관리
• 고객의 요청이 올 때 마다 계속 객체를 생성하는 것은 비효율
• 최초 로딩 시점에 서블릿 객체를 미리 만들어두고 재활용
• 모든 고객 요청은 동일한 서블릿 객체 인스턴스에 접근
• 공유 변수 사용 주의
• 서블릿 컨테이너 종료시 함께 종료
• JSP도 서블릿으로 변환 되어서 사용
• 동시 요청을 위한 멀티 쓰레드 처리 지원
서블릿(Servlet)이란 동적 웹 페이지를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이다. 서블릿은 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해준다.
서블릿은 서버에서 실행되다가 웹 브라우저에서 요청을 하면 해당 기능을 수행한 후 웹 브라우저에 결과를 전송한다.
쉽게 예를들면 로그인 시도를 할 때, 서버가 클라이언트에서 입력되는 아이디와 비밀번호를 확인하고 결과를 응답하는데 이러한 역할을 수행하는 것이 서블릿이다.
▶ 서블릿(Servlet)의 주요 특징
클라이언트의 Request에 대해 동적으로 작동하는 웹 어플리케이션 컴포넌트
기존의 정적 웹 프로그램의 문제점을 보완하여 동적인 여러 가지 기능을 제공
JAVA의 스레드를 이용하여 동작
MVC패턴에서 컨트롤러로 이용됨
컨테이너에서 실행
보안 기능을 적용하기 쉬움
'프로그래밍 > SpringMVC_1' 카테고리의 다른 글
HTTP 요청 데이터 - API 메시지 바디 - 단순 텍스트 (1) | 2024.01.22 |
---|---|
HTTP 요청 데이터 - POST HTML Form (0) | 2024.01.13 |
HTTP 요청 데이터 - GET 쿼리 파라미터 (0) | 2024.01.12 |
HTTP 요청 데이터 - 개요(Get, POST, HTTP Message body) (0) | 2024.01.12 |
Hello 서블릿 (0) | 2024.01.10 |