Study_Servlet
Servlet
Servlet이란?
- 웹 어플리케이션을 만들 때 필요한 인터페이스
Servlet 동작방식
- 각각의 Servlet이 Servlet Interface를 상속받아 구현하고 있고, 이를 Servlet Container가 갖고 있고 Container를 통해 Server와 통신한다.
Servlet 이 등장한 배경
정적 데이터만 전달가능했던 Web Server
동적 데이터를 처리하는 CGI(Common Gateway Interface) 등장
CGI(Common Gateway Interface)의 한계
- WebContainer 역할 : 요청이 들어오면, 요청마다 Thread를 생성하고, Servlet 구현체를 연결해주고, Servlet Interface내 메소드를 호출해주는 역할을 한다.
Servlet의 생명주기
- Init : Servlet Instance 생성하는 곳 (initalize)
- Service : 실제 기능이 수행되는 곳(요청을 처리할 때 호출이 되는 메서드)
abstract class HttpServlet extends Servlet
//HTTP Method(GET, POST, PUT, DELETE)에 따라
//doGet(), doPost(), doPut(), doDelete()메서드를 호출한다.
//doxxx() : 개발자가 구현하는 부
- Destroy : Servlet Instance가 사라지는곳
- 보통 container가 종료되는 시점에 destroy()호출
- 특정 servlet 로드/언로드 시에도 사용
- 각 메서드는 Servlet Container(Tomcat)이 호출해준다.
Servlet Container & Servlet 호출과정
- 요청이 들어오면 Servlet Request / Servlet Reponse 객체 생성
- 설정 파일을 참고하여 매핑할 Servlet을 확인
- 해당 서블릿 인스턴스 존재 유무를 확인하여 없으면 생성(Init())
- ServletContainer에 스레드를 생성하고, Res, Req를 인자로 Service 실행
- 응답을 처리한다.
- 응답을 처리한다.
Dispatcher Servlet
Web 요청 처리과정
ref.
https://www.youtube.com/watch?v=cmwmamOQmPc
https://www.youtube.com/watch?v=calGCwG_B4Y
https://www.youtube.com/watch?v=2pBsXI01J6M
Author And Source
이 문제에 관하여(Study_Servlet), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dragon9265/StudyServlet저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)