728x90
728x90
RequestDispatcher
- JSP와 Servlet 사이에서 request와 response를 전달하는 기능을 제공
· Servlet에서 JSP로 or JSP에서 Servlet으로
· 데이터를 공유하면서 같이 사용할 수 있음
- 사용 목적
· 웹 애플리케이션의 모듈화
· 재사용성 향상
- 요청 주소는 여전히 기존 주소로 유지됨 (비교 : sendRedirect 메서드는 주소도 바뀜)
→ 클라이언트는 전달받은 Servlet or JSP의 정확한 주소를 알지 못함
→ 보안 good
# 방식 1) forward() 메서드 사용
- 서버 내부에서만 작동함
- request와 response를 그대로 넘김
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | // 데이터를 보내는 Servlet 파일 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 데이터 설정 String message = "보낼_데이터"; // 인코딩 표준 지정 request.setCharacterEncoding("UTF-8"); // 보낼 데이터 지정 request.setAttribute("msg", message); // ("key", value) // request, responce 객체를 보낼 대상 파일 지정 RequestDispatcher dispatcher = request.getRequestDispatcher("result.jsp"); dispatcher.forward(request, response); } ----------------------------------------------- // 데이터를 받는 jsp 파일 <% // MIME 타입과 인코딩 표준 지정 response.setContentType("text/plain; charset=UTF-8"); // 평문 // "key"에 해당하는 value 데이터 가져오기 String message = (String) request.getAttribute("msg"); %> | cs |
# 방식 2) include() 메서드 사용
- 다른 Servlet or JSP에서 처리한 결과를 현재 Servlet or JSP의 출력에 포함시킴
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | // 데이터를 보내는 Servlet 파일 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 데이터 설정 String message = "보낼_데이터"; // 인코딩 표준 지정 request.setCharacterEncoding("UTF-8"); // 보낼 데이터 지정 request.setAttribute("msg", message); // ("key", value) // request, responce 객체를 보낼 대상 파일 지정 RequestDispatcher dispatcher = request.getRequestDispatcher("result.jsp"); dispatcher.include(request, response); } ----------------------------------------------- // 데이터를 받는 jsp 파일 <% // 인코딩 표준 지정 response.setCharacterEncoding("UTF-8"); // MIME 타입 지정 response.setContentType("text/plain"); // // "key"에 해당하는 value 데이터 가져오기 String message = (String) request.getAttribute("msg"); %> | cs |
320x100
반응형
'Java > JSP' 카테고리의 다른 글
[JSP] Java web으로 SQL CRUD 구현하기 (0) | 2023.03.28 |
---|---|
[JSP] JSTL (JSP Standard Tag Library) (0) | 2023.03.28 |
[JSP] 쿠키와 세션 (0) | 2023.03.27 |
[JSP] JSP 내장 객체 3 (exception) & 에러 페이지 (0) | 2023.03.27 |
[JSP] web.xml 파일 & JSP 내장 객체 2 (config, application) (0) | 2023.03.27 |