HttpServletResponse常见应用——设置响应头控制浏览器的行为

1、设置http响应头控制浏览器禁止缓存当前文档内容    

1 response.setDateHeader("expries", -1);
2 response.setHeader("Cache-Control", "no-cache");
3 response.setHeader("Pragma", "no-cache");

2、设置http响应头控制浏览器定时刷新网页(refresh)

1 response.setHeader("refresh", "5");//设置refresh响应头控制浏览器每隔5秒钟刷新一次

3、通过response实现请求重定向

  请求重定向指:一个web资源收到客户端请求后,通知客户端去访问另外一个web资源,这称之为请求重定向。

  应用场景:用户登陆,用户首先访问登录页面,登录成功后,就会跳转到某个页面,这个过程就是一个请求重定向的过程

  实现方式:response.sendRedirect(String location),即调用response对象的sendRedirect方法实现请求重定向
  sendRedirect内部的实现原理:使用response设置302状态码和设置location响应头实现重定向

例如:

复制代码
 1 package gacl.response.study;
 2 import java.io.IOException;
 3 import javax.servlet.ServletException;
 4 import javax.servlet.http.HttpServlet;
 5 import javax.servlet.http.HttpServletRequest;
 6 import javax.servlet.http.HttpServletResponse;
 7 
 8 public class ResponseDemo04 extends HttpServlet {
 9 
10     public void doGet(HttpServletRequest request, HttpServletResponse response)
11             throws ServletException, IOException {
12         /**
13          * 1.调用sendRedirect方法实现请求重定向,
14          * sendRedirect方法内部调用了
15          * response.setHeader("Location", "/JavaWeb_HttpServletResponse_Study_20140615/index.jsp");
16          * response.setStatus(HttpServletResponse.SC_FOUND);//设置302状态码,等同于response.setStatus(302);
17          */
18         response.sendRedirect("/JavaWeb_HttpServletResponse_Study_20140615/index.jsp");
19         
20         //2.使用response设置302状态码和设置location响应头实现重定向实现请求重定向
21         //response.setHeader("Location", "/JavaWeb_HttpServletResponse_Study_20140615/index.jsp");
22         //response.setStatus(HttpServletResponse.SC_FOUND);//设置302状态码,等同于response.setStatus(302);
23     }
24 
25     public void doPost(HttpServletRequest request, HttpServletResponse response)
26             throws ServletException, IOException {
27         doGet(request, response);
28     }
29 }
复制代码
原文地址:https://www.cnblogs.com/kingxiaozi/p/6418570.html