티스토리 뷰

JSP &Servlet

JSP response 객체

Lurutia 2021. 4. 24. 11:46

response 기본 객체가 제공하는 헤더 추가 메서드

addDateHeader(String name, long date) name 헤더에 date를 추가한다.
addHeader(String name, String value) name 헤더에 value를 값으로 추가한다.
addIntHeader(String name, int value) name 헤더에 정수 값 value를 추가한다.
setDateHeader(String name, long date) name 헤더의 값을 date로 지정한다.
setHeader(String name, String value) name 헤더의 값을 value로 지정한다.
setIntHeader(String name, int value) name 헤더의 값을 정수 값 value로 지정한다.
containsHeader(String name) 이름이 name인 헤더를 포함하고 있을 경우 true, 아닐경우 false를 반환한다.

 

add로 시작하는 메서드는 기존 헤더에 새로운 값을 추가할 때 사용되며, set으로 시작되는 메서드는 헤더의 값을 새로 지정할때 사용합니다.

 

response 캐시 관련 메서드

Cache-Control HTTP 1.1 버전에서 지원하는 헤더로서, 이 헤더의 값을 "no-cache"로 지정하면 웹 브라우저는 응답 결과를 캐시하지 않는다.

"no-cache"로 설정하더라도 브라우저는 캐시의 결과를 브라우저에 저장 할 수 있다. 뒤로가기 기능을 사용했을때 캐시보관소에 저장된 화면을 보여주기도 한다. 응답결과가 캐시에 아예 저장되지 않기를 바라면 "no-store"를 추가한다.
Pragma HTTP 1.0 버전에서 지원하는 헤더로, "no-cache"로 지정하면 브라우저는 응답결과를 캐시에 저장하지 않는다.
Expires HTTP 1.0 버전에서 지원하는 헤더로, 응답 결과의 만료일을지정한다. 만료일을 현재일보다 이전으로지정해서 캐시에 보관하지 않도록 할 수 있다.

 

캐시를 지정하지 않는방법

<%
	response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Cache-Control", "no-store");
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Expires", 1L);
%>

HTTP 1.0 과의 호환성을 위해 Cache-Control 이외에도 Pragma, Expires도 함께 사용합니다.

Expires는 1L로 설정하면 1970년 1월 1일 0001초를 뜻하기때문에 브라우저가 캐시하지 않게됩니다.

 

redirect

브라우저가 다른페이지로 이동하게합니다.

<% response.sendRedirect("이동할 페이지"); %>

 

redirect시 queryString을 함께 넘겨줄때 한글이 포함되어 있다면 글자가 깨질 수 있습니다. 이때 URLEncoder 클래스를 사용할 수 있습니다.

 

String encodedValue = URLEncoder.encode("고설조");
response.sendRedirect("/ch03/index.jsp?name=" + encodedValue);

 

'JSP &Servlet' 카테고리의 다른 글

JSP 기본 객체와 영역  (0) 2021.04.27
JSP 폴더구조  (0) 2021.04.27
JSP tomcat 에서 GET방식 URI 인코딩 처리  (0) 2021.04.24
JSP request 기본객체  (0) 2021.04.24
페이지 모듈화와 요청 흐름 제어  (0) 2018.08.04
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
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
글 보관함