매일 매일 미라클 코딩

WAS (웹 어플리케이션 서버) - 서블릿 컨테이너 본문

BackEnd

WAS (웹 어플리케이션 서버) - 서블릿 컨테이너

뚜벅-뚜벅 2021. 2. 7. 19:25

WAS(Web Application Server)



🎀서블릿 컨테이너🎀

우리가 서버에 서블릿을 만들었다고 해서 스스로 작동하는 것이 아니고 서블릿을 관리해주는 것이 필요한데, 그러한 역할을 하는 것이 바로 서블릿 컨테이너. 서블릿 컨테이너는 클라이언트의 요청(Request)을 받아주고 응답(Response)할 수 있게, 웹서버와 소켓으로 통신한다.

 

Apache Tomcat - app 웹서버 / 서블릿컨테이너 두가지 역할 모두 있음

> 대표적인 예로 톰캣(Tomcat)은 실제로 웹 서버와 통신하여 JSP(자바 서버 페이지)와 Servlet이 작동하는 환경을 제공해 준다.  Tomcat 은 서블릿 컨테이너와 CGI 규칙으로 통신한다

서블릿 컨테이너와 Java가 어떻게 상호작용하는가가 중요. 주로 상속과 DI(dependency Injection) 를 통함.
 => 전에 만든 인터페이스 - MP3 Framework가 서블릿컨테이너고, 객체가 삼성 소니 등등 이라고 보면 된다.



🎀서블릿 컨테이너 역할🎀
- 웹서버와의 통신 지원
- 서블릿 생명주기 관리
- 멀티쓰레드 지원 및 관리
- 선언적인 보안관리 

 

🎀서블릿의 생명주기🎀
서블릿은 5개의 인터페이스를 갖고있음
init / service / destroy, getServletInfo / getServletConfig/
 -> 이 다섯 메소드를 서블릿의 생태주기라고 한다

init : 서블릿 실행시 호출
service : 서블릿의 역할, 주요 기능 처리
destroy : 서블릿 소멸 

*새로고침하면 init은 호출 안되고 service가 다시 호출된다. 즉 서비스중에는 객체가 살아있다. 


*Servlet 인터페이스를 상속받으면 우리가 만든 객체를 호출하기로 약속 되어있다.
=> HTTPServlet 상속받으면 요청객체와 응답객체를 생성함

*DD파일 deployment descriptor
- 서블릿선언하는 부분. 요청이 들어오면 web.xml 내용을 바탕으로 어떤 서블릿에 대한 요청인지 확인한다

 

*컨텍스트 주소
http://localhost:9999/_04_Servlet_Life_Cycle/Hello 와 같이 페이지요청하는 URL 임 

'BackEnd' 카테고리의 다른 글

서블릿 Servlet  (0) 2021.02.07
MVC 아키텍쳐- Front Controller(2) : Dispatcher Servlet  (0) 2021.02.07
MVC 아키텍쳐 - Front Controller (1)  (0) 2021.02.07
Get 요청과 Post 요청  (0) 2021.01.21
HTTP 프로토콜이란?  (0) 2021.01.21