ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSP | Response 내장 객체
    JAVA/JSP 2020. 2. 19. 17:03

    Response 내장 객체

    웹 브라우저로 응답할 응답 정보를 가지는 JSP 내장 객체

    • 웹 브라우저에 보내는 응답 정보는 HttpServletResponse 객체에 있음
    • JSP에서는 response 객체를 이용해서 접근
    • 주로 헤더 정보 입력, 리다이렉트 등의 기능을 제공

    Response Method

    메소드 설명
    void setHeader(name, value) 헤더 정보의 값을 수정하는 메소드
    name에 해당하는 헤더 정보를 value로 수정
    void setContentType(type) 웹 브라우저의 요청 결과로 보일 페이지의 contentType 설정
    page 디렉티브의 contentType 속성과 같은 역할
    void sendRedirect(url) 페이지를 이동시키는 메소드
    url 페이지로 프로그램 제어가 이동함
    중간의 로직 처리를 보여줄 필요가 없을 때 사용
    ex) 게시글 DB 저장 후 게시글 목록 출력

    sendRedirect(url) 처리 과정

    1. 웹 브라우저가 a.jsp 페이지 요청
    2. a.jsp 페이지의 내용을 수행
    3. response.sendRedirect("b.jsp");
      문장을 만나면 프로그램 제어가 b.jsp로 이동
      이 때 위의 문장을 만나기 전까지 실행된 코드 중
      출력될 값을 모두 버린 후에 b.jsp로 이동
    4. b.jsp 페이지 수행
    5. b.jsp 페이지를 수행한 결과를 웹 브라우저로 응답
      b.jsp 페이지의 내용만 처리 결과로 화면에 출력

    ※ a.jsp와 b.jsp는 데이터를 공유하지 않음
    → forward 액션 태그는 데이터를 공유하면서 이동 가능
    자기 프로젝트 내의 다른 페이지로만 이동 가능하며
    URL이 다음 페이지로 변경되지 않음


    예제_sendRedirect(url)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
        <h1>sendRedirect Method Practice</h1>
        <p>매개변수 URL 주소로 이동되며 해당 페이지의 내용만 응답으로 출력</p>
        <p>이 페이지에 작성한 내용은 출력되지 않으며 URL주소 역시 표출되지 않음</p>
        <%
        // 외부 사이트로도 이동 가능
        // response.sendRedirect("http://www.daum.net");
        
        // 프로젝트 내부의 다른 파일로 이동
        response.sendRedirect("../bottom/bottom.jsp");
        %>
    </body>
    </html>
    http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter

    결과


    JSP 페이지에서 처리한 결과를 웹 브라우저로 전송하는 응답 정보가 담긴 response 내장 객체에 대해 알아보았습니다.

    서블릿에서와 같이 response 객체를 사용해서 화면에 html문서를 출력할 때는
    setContentType() 메소드로 utf-8 인코딩을 지정해주어야 한글이 깨지지 않습니다.

    또, 처리는 해야하지만 사용자에게 노출할 필요가 없는 페이지에서 sendRedirect() 메소드를 사용하면
    처리 결과를 화면에 출력하지 않으면서 필요한 작업을 수행할 수 있겠습니다.

    'JAVA > JSP' 카테고리의 다른 글

    JSP | Action Tag 액션 태그 개요  (0) 2020.02.19
    JSP | Out 내장 객체  (0) 2020.02.19
    JSP | Request 내장 객체  (2) 2020.02.19
    JSP | 내장 객체 개요 & Method &객체 영역  (0) 2020.02.19
    JSP | Page Directives_< %@include% >  (0) 2020.02.19

    댓글

Designed by Tistory.