2013. 10. 20. 04:29
[JSP]
요청에서 응답까지 다양한 실행 순서
서블릿만 사용시 | 컨테이너 | 서블릿 | 컨테이너 | |||
모델 사용시 | 컨테이너 | 서블릿 | 모델 | 서블릿 | 컨테이너 | |
JSP 사용시 | 컨테이너 | 서블릿 | JSP | 컨테이너 | ||
모델+JSP 사용시 | 컨테이너 | 서블릿 | 모델 | 서블릿 | JSP | 컨테이너 |
요청에서 응답까지 기본적인 실행 순서- JSP 사용시 / 모델 사용시
순서 | 설명 |
컨테이너(톰캣) | servlet 이라면 DD(web.xml)을 참조하여, 해당 servlet 스레드를 생성하고, HttpSevletRequest, HttpServletResponse 를 생성하여 인자로 넘기며, 해당 servlet의 service() 메소드를 호출하여, servlet을 구동시킴 (바로 컨테이너에게 Response 객체를 전달 할 수도 있으나…) |
servlet | 요청 처리를 진행(바로 JSP로 Request dispatching 할 수도 있으나…) |
모델 | servlet이 호출하는 대상이며, 보통 자료를 리턴 함 |
servlet | 여러 타 servlet을 거처 자료를 완성된 자료를 Request 객체에 담아낸 servlet JSP로 Request dispatching |
JSP | 서블릿이 자료를 담아 낸 Request 객체에서 attribute를 적출해 사용함 최종적으로 Response 객체를 완성시키고 컨테이너에게 전달 |
컨테이너 | HttpServletResponse를 HTTP Respose로 응답함 |
배포된 자바 웹 어플리케이션 폴더 구조 - JSP 미사용시
폴더 / 파일 | 설명 |
/*.html | 보통의 요청이 시작되는 곳 |
/WEB-INF/web.xml | 요청이 servlet 일 때, 어떤 servlet으로 요청을 넘겨야 하는지가 기술되어 있음 |
/classes/[model]/*.class /classes/[web]/*.class /classes/[namespaces1]/*.class /classes/[namespaces2]/*.class /classes/[namespaces3]/*.class … | servlet과 모델들이 모여 있는 곳 JSP 미사용시는 아래와 같이 response를 직접 작성함 response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<br />…"); |
배포된 자바 웹 어플리케이션 폴더 구조 - JSP 사용시
폴더 / 파일 | 설명 |
/*.html | 보통의 요청이 시작되는 곳 |
/WEB-INF/web.xml | 요청이 servlet 일 때, 어떤 servlet으로 요청을 넘겨야 하는지가 기술되어 있음 |
/classes/[model]/*.class /classes/[web]/*.class /classes/[namespaces1]/*.class /classes/[namespaces2]/*.class /classes/[namespaces3]/*.class … | servlet과 모델들이 모여 있는 곳 JSP 사용시는 response를 직접 작성 안하고, JSP에게 요청을 부탁함(RequestDispatcher) RequestDispatcher view = request.getRequestDispatcher("result.jsp"); 필요하다면 request 객체를 통해 자료를 넘김 request.setAttribute("styles", result); RequestDispatcher view = request.getRequestDispatcher("result.jsp"); view.forward(request, response); |
/*.jsp | HTML과 scriptlet 코드로 response를 작성한다. 필요하다면 servlet으로 부터 넘어온 request객체를 통해 자료를 얻음 List styles = (List)request.getAttribute("styles"); |
'JSP' 카테고리의 다른 글
JAVA JDK 설치 / 환경 변수 설정 (0) | 2014.04.18 |
---|---|
서블릿 요청에 대한 컨테이너의 요청처리 순서 (0) | 2013.10.10 |
웹 어플리케이션 발전 순서 - HTML > CGI > JSP & Servlet (0) | 2013.10.10 |
HTTP 기초 (0) | 2013.10.10 |
JAVA 웹 개발환경 세팅 - JSP 개발환경 세팅 - 수동컴파일(no eclipse) (0) | 2013.10.10 |