서블릿이란?
- 서블릿은 자바 웹 서버의 기능을 확장한다.
- 자바 웹 앱에서 클라이언트 요청을 다루기 위해 사용되는 자바 클래스이다.
- 서블릿은 동적 웹페이지 생성, 유저의 입력 처리, DB 혹은 다른 백엔드 서비스와의 커뮤니케이션 등에 사용된다.
왜 서블릿이란 이름을 가지게 되었는가?
- "server" 와 "applet" 이라는 이름이 합쳐졌다.
- "server" 는 클라이언트의 요청에 응답하는 프로그램을 말한다.
- "applet" 은 커다란 프로그램 안에서 세부적인 작업을 하는 작은 프로그램을 말한다.
서블릿은 어떻게 생성되는가?
- Java Servlet API 를 통해 구현된다.
- 공식문서 를 확인하여 어떠한 API 가 존재하는지 확인할 수 있다.
- 제공하는 인터페이스와 클래스들을 이용해 서블릿의 동작을 정의할 수 있다.
- 이렇게 생성된 서블릿은 웹서버에 배포되어 웹 애플리케이션 컨테이너에 의해 제어된다.
서블릿은 어떻게 배포되는가?
- JAR(Java Archive) 혹은 WAR(Web Archive) 로 패키징되어 배포된다.
- Tomcat, Jetty 같은 웹 애플리케이션 컨테이너는 서블릿의 라이프사이클을 담당한다.
- 필요할 때, 메모리로 서블릿을 불러온다(loading).
- 더이상 필요 없어지면, 메모리로 불러온 서블릿을 다시 내보낸다(unloading).
웹서버와 서블릿은 어떻게 동작하는가?
- 웹서버가 웹 클라이언트로부터 요청을 받는다.
- 웹서버는 HTTP 요청을 기반으로 요청을 처리할 수 있는 서블릿을 찾는다.
- 서블릿이 요청을 처리하고 응답을 생성(generate)한다.
- 응답이 클라이언트에게로 전달된다.
서블릿은 이 과정에서 리소스, HTML 페이지, 이미지, 데이터 등을 처리할 수 있다.
반응형
'Java > 톰캣 (Tomcat)' 카테고리의 다른 글
인텔리제이 콘솔에서 톰캣 한글 로그가 깨질 때 해결 방법 (0) | 2023.04.13 |
---|---|
web.xml 에서 사용하는 absolute-ordering 이란? (0) | 2023.03.20 |
web.xml 파일이란? 그리고 web.xml 파일의 역할 (0) | 2023.03.20 |
WEB-INF 디렉토리란? (0) | 2023.03.20 |
톰캣 + JDK 환경에서 로컬 개발환경에 HTTPS 적용하기 (0) | 2022.05.11 |