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

你可能感兴趣的:(HttpServletResponse常见应用——设置响应头控制浏览器的行为)