본문 바로가기

WS & WAS/common

(4)
Servelet Container - Spring Framework 서블릿 컨테이너에서의 스프링 실행과정 Servlet Container 에서 Spring Framework 가 어떻게 동작하는지를 알아보자 Spring MVC 에는 Dispatcher Servlet 이라는 서블릿이 있고 Servlet Container 에서 이 Dispatcher Servlet 을 관리하고 있다. 모든 요청과 응답은 Dispatcher Servlet에서 관리가 되고 요청 정보를 기반으로 Dispatcher Servlet 안에 있는 Application Context에 등록되어있는 빈을 호출해서 비즈니스 로직을 수행한다. Servlet Container 여기서 서블릿 컨테이너는 서블릿의 라이프 사이클을 관리하는데, 서블릿으로 구현되는 Dispatcher Servlet 도 서블릿 컨테이너에서 ..
Servlet Servlet 서블릿은 Java EE의 표준중 하나로 웹 페이지를 동적으로 생성하는 서버측 프로그램을 뜻한다. 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종이다. 서블릿은 JSP 와 비슷하지만 JSP 는 HTML 안에 자바가 있다면 서블릿은 자바 안에 HTML 이 있다. 서블릿 컨테이너로부터 HttpServletRequest, HttpServletResponse 인자를 받아서 로직을 수행 할 수 있다. 서블릿은 HTTPServlet 을 상속받아야 한다. 서블릿 클래스 간의 관계 HTTPServlet은 웹 요청이 왔을때 해당 서블릿을 실행하는 모든 조건들이 들어있다. Servlet 인터페이스 init(), service(), destroy(), getServletConfig(), getSer..
Web Application Server Web Application Server WAS 는 HTTP 통신을 하는 Web Server 와 비즈니스 로직을 처리가 가능한 Servlet 을 실행/ 관리하는 서블릿 컨테이너(Web Container)를 가지고 있다. socket listen, accept 등과 같은 HTTP 통신 부분을 서블릿 컨테이너와 분리해서 서블릿 컨테이너는 비즈니스 로직 처리에 집중하게 한다. 여러개의 서블릿 컨테이너를 가지고 있을 수 있고 Context Path 로 구분한다. WAS에서는 서블릿의 라이프 사이클과 멀티스레드를 지원한다. WAS 의 동작과정 1. 앞단에 웹서버가 별도로 있다면 클라이언트의 요청을 받게 되고 이 요청을 WAS의 웹서버에 보내게 된다. 2. WAS는 요청에 해당되는 서블릿 인스턴스가 존재하는지 확인..
Web Server Web Server 웹서버는 정적 리소스를 제공하거나 도메인에 따라 WAS로 라우팅 해주는 Reverse Proxy를 제공한다. Reverse Proxy(역방향 프록시)란? 프록시 서버는 클라이언트의 요청을 다른 서버로 전달하는 중개 서버인데, Reverse Proxy는 개인 네트워크 방화벽 뒤에서 적절한 백엔드 서버에 대한 클라이언트 요청을 지시하는 프록시 서버의 유형이다. Reverse Proxy의 용도는 로드 밸런싱과 보안 역할을 한다. 웹서버는 image, html, css 같은 리소스처럼 동적으로 변하지 않는 내용을 제공한다. WAS는 비즈니스 로직을 처리해야 하기 때문에 정적 리소스는 웹서버에서 처리하는 방식을 사용한다. (Tomcat 5.5 이상부터는 성능이 충분히 빨라져서 정적 리소스를 안..