is Data.

JSP response 기본객체의 응답 정보

response 기본객체는 웹브라우저에 보내는 응답 정보를 담는다. request기본객체가 웹 브라우저가 전송한 요청 정보를 담고 있는 것과

정 반대이다.

 

1.웹 브라우저에 헤더 정보 전송하기

 

response기본객체는 응답 정보에 헤더를 추가하는 기능을 제공한다.

 

addDateHeader(String name, long date) / void / name 헤더에 date를 추가한다.

addHeader(String name, String value) / void / name 헤더에 value를 값으로 추가한다.

addIntHeader(String name, int value) / void / name헤더에 정수 값 value를 추가한다.

setDateHeader(String name, long date) / void / name 헤더에 date를 지정한다.

setHeader(String name, String value) / void / name 헤더에 value를 값으로 지정한다.

setIntHeader(String name, int value) / void / name헤더의 정수 값을 value로 지정한다.

containsHeader(String name) / Boolean / 이름이 name인 헤더를 포함하고 있는지 확인한다. 있으면 true 없으면 false 리턴.

 

add는 추가 set은 수정하는 것임을 알 수 있다.

 

 

2.웹 브라우저 캐시 제어를 위한 응답 헤더 입력.

캐시[Cache]? -> http://hyunc87.tistory.com/24

<%
   response.setHeader("Pragma" , "No-Cache");
   response.setHeader("Cache-Control" , "no-cache");
   response.setHeader("Chche-Control" , "no-store"); //일부 파이어폭스 버그 관련
 
   response.setDateHeader("Expires", 1L);
%>


3.리다이렉트를 이용해서 페이지 이동하기.

 

리다이렉트 기능은 웹서버가 웹브라우저에게 다른 페이지로 이동하라고 지시하는 것이다.

<%
    if (true) {
        response.sendRedirect("/hyun/HelloWorld.jsp");
    } else if ( ……..
    …….
%>
response기본객체의 sendRedirect() 기능을 통해 지정한 페이지로 이동할 것을 지시할 수 있다.
메서드 파라미터에 URL을 입력하여 전혀 다른 서버로 리다이렉트 시킬수도 있다.
 
sendRedirect()시에 파라미터로 값을 넘겨주고 싶은 경우 적절한 캐릭터셋으로 인코딩해주어야 한다.
이러한 인코딩을 수행하는 메서드는 java.net.URLEncoder 이다.
<%@ page import = "java.net.URLEncoder" %>
<%@ page pageEncoding="euc-kr" %>
<%
    String value = "안녕";
    String encodedValue = URLEncoder.encode(value, "euc-kr");
    response.sendRedirect("/hyun/HelloWorld.jsp?name=" + encodedValue);
%>

위처럼 리다이렉트시 전달할 값을 적절하게 인코딩해 주어야 한다.