[JSP] RequestDispatcher

2023. 3. 27. 18:26·Java/JSP
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"); 
%>
 
Colored by Color Scripter
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"); 
%>
Colored by Color Scripter
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
'Java/JSP' 카테고리의 다른 글
  • [JSP] Java web으로 SQL CRUD 구현하기
  • [JSP] JSTL (JSP Standard Tag Library)
  • [JSP] 쿠키와 세션
  • [JSP] JSP 내장 객체 3 (exception) & 에러 페이지
스응
스응
    반응형
    250x250
  • 스응
    이서영의 개발 블로그
    스응
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (384)
      • Java (134)
        • Base (54)
        • Spring Boot (37)
        • JSP (16)
        • Swing (GUI) (20)
        • Design Pattern (7)
      • C# (13)
      • PHP (18)
      • SQL (27)
      • Vue.js (9)
      • Tailwind CSS (4)
      • TypeScript (7)
      • HTML & CSS (27)
      • JavaScript (26)
      • jQuery (10)
      • Android (3)
      • - - - - - - - - - - - - - - (0)
      • Hotkeys (5)
      • CS (30)
      • etc. (13)
      • Error Note (16)
      • Team Project (24)
        • Airlines Web Project (12)
        • University Web Project (6)
        • Strikers 1945 GUI Project (6)
      • My Project (18)
        • Library Web Project (8)
        • Pet Shopping Mall GUI Project (10)
  • 블로그 메뉴

    • Home
    • Write
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    tailwindcss
    typeScript
    errorNote
    Hotkeys
    SEO
    CSS
    개발일지
    cs
    php
    jsp
    면접
    티스토리챌린지
    Swing
    Codeigniter
    HTML
    vuejs
    http
    SQL
    Android
    Wordpress
    zapier
    jQuery
    js
    C#
    git
    SWAGGER
    SpringBoot
    java
    오블완
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
스응
[JSP] RequestDispatcher
상단으로

티스토리툴바