서블릿이란
클라이언트 "동적인 웹페이지 요청"을 처리하고 그 결과를 반환하는 기술
ex) 클라이언트의 아이디와 비밀번호 확인
[간단한 등장 배경]
사용자가 많아지면서 정적인 자료의 제공을 넘어서 자기 필요에 맞는 자료를 제공받고 싶어했다
사용자 요구에 맞춰 동적으로 반응하는 페이지를 만들기 위해 만들어진 것이 서블릿이다
서블릿과 서버
동적인 페이지를 제공하기 위해 SERVER가 WEB 서버와 WAS로 나눠졌다
WAS는 연산결과를 웹서버로 제공하고, 웹서버는 정적 페이지를 만들어 사용자에게 제공한다
- WEB 서버
- 사용자의 요청에 따라 정적인 페이지 제공
- WAS 서버
- 클라이언트 요청 중 연산이 필요한 부분을 연산
이때 WAS에서 연산을 담당하는 것이 서블릿이다
서블릿은 WAS 안에 있는 서블릿 컨테이너(웹 컨테이너) 공간에서 활용된다
서블릿 컨테이너
서블릿을 이용해 클라이언트 요청 처리
서블릿 기술을 사용한다
구체적으로 말하자면, 다양한 서블릿이 고객의 요청에 따라 작동하도록 서블릿을 제어한다
ex) 쇼핑몰 - 주문, 회원가입, 장바구니 등 다양한 기능
각각의 기능을 구현할 다양한 서블릿이 한 서버 안에서 동작한다. 따라서 서블릿들이 서버에서 잘 운용되도록 컨트롤해야한다
서블릿 패키지 내 구조
- Servlet 인터페이스
- 해당 인터페이스를 구현하기 위해선 life-cycle 메서드인 init, service, destory와
- getServletConfig, getServletinfo를 구현해야한다
- ServletConfig 인터페이스
- 초기화 중에 서블릿에 정보를 전달하기 위해 서블릿 컨테이너에서 사용하는 서블릿 구성을 위한 객체이다
- GenericServlet 추상 클래스
- (위에것 보다 조금 더 수월하게 만든 것) Servlet의 init(), destroy()를 간단하게 제공한다
- 즉 사용자는 service만 구현하여 서블릿을 간편하게 실행할 수 있다
- HttpServlet 추상 클래스
- http 프로토콜 한정적으로 사용할 수 있다
- 구체화가 높은 클래스
참고자료
https://sgcomputer.tistory.com/226
https://mangkyu.tistory.com/14
'Server > Spring & AWS' 카테고리의 다른 글
[CI/CD] Github Action, AWS로 자동 빌드 및 배포하기 (1) | 2024.08.20 |
---|---|
@PathVariable과 RequestParam 차이점 (0) | 2024.08.15 |
[Spring] MVC 구조 이해 - 함수와 람다식 (0) | 2024.08.12 |
[점프 투 스프링] 질문 및 요약정리 (2) (0) | 2024.03.05 |
[점프 투 스프링] 질문 및 요약정리 (1) (0) | 2024.02.22 |