◆ 무한한 가능성/& JAVA

서블릿(자바,JAVA)에서 JSP를 호출

치로로 2017. 2. 22. 14:31

출처.> http://www.silverwolf.co.kr/java/9899


컨테이너는 자신이 관리하는 콤포넌트들끼리 서로 호출할 수 있는 기능인 "요청 처리 부탁(Request dispatching)" 메커니즘을 제공합니다. 이 기능을 이용해서, 서블릿은 모델로부터 받은 정보를 Request 객체 안에 저장하고, JSP에 요청을 처리해줄 것을 부탁(dispatch)할 수 있습니다.


서블릿의 중요 변경 사항:

  1. Request 객체에 모델 콤포넌트로부터 받은 정보를 저장하는 것. 그래야 JSP가 이걸 꺼내 볼 수 있으니까요.
  2. 컨테이너에게 요청을 result.jsp로 넘겨줄(forward) 것을 요청하는 것.



// JSP가 나중에 읽을 수 있게 Request 객체의 속성(Attribute)에 값을 설정합니다. 나중에 style란 값으로 JSP에서 이 객체를 읽어 올 것입니다.
request.setAttribute("styles", result);
 
// JSP로 작업을 부탁할 RequestDispatcher를 인스턴스화 합니다.
RequestDispatcher view = request.getRequestDispatcher("result.jsp");
 
// RequestDispatcher는 컨테이너에게 JSP를 준비하라고 요청합니다. 그 다음 JSP에게 request/response 객체를 넘깁니다.
view.forward(request, response);