点击这里给我发消息 点击这里给我发消息

如何让浏览器后退显示页面已经过期

添加时间:2013-12-7
    相关阅读: 页面

  假如有一个注册流程,a.jsp:负责输入信息、b.jsp:负责处理信息、c.jsp:处理完信息后的用户跳转的另外一个页面。

  显然用户轨迹为:a.jsp->b.jsp->c.jsp

  我们的目标是:假设现在用户已经在c.jsp,用户通过点击浏览器后退按钮,那么浏览器将显示“页面已经过期”。

  下面是三个页面的源码,具体每个页面为什么那么设置,什么都有说明,如果还不明白为什么,那么请自己调试一下就知道了。

  a.jsp:

  <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

  <%

  //如果设置过期,他的下一个页面后退的时候,就会重新请求服务器,状态码200,提交方式:get

  //如果没有设置过期,他的下一个页面后退的时候,读取缓存页面和数据,状态码cache,提交方式:get

  response.addHeader("Pragma", "No-cache");

  response.addHeader("Cache-Control", "no-cache");

  response.setDateHeader("Expires",-10);

  %>

  <hi>注册过期流程测试-步骤1</hi>

  <form action="/a.jsp" method="post">

  <input type="text" name="name"/>

  <input type="submit" value="注册"/>

  </form>

  b.jsp:

  <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

  <%

  //这个是被post的页面,这个页面由前一个页面来决定怎么显示,

  //如果设置过期,他的下一个页面后退将找不到页面(因为不知道是什么样的数据来post给他),页面会显示已过期,状态:ERROR_FILE_NOT_FOUND,提交方式:post

  //如果没有设置过期,他的下一个页面后退将找到老的页面和老的数据,状态:history cache,提交方式:post

  response.addHeader("Pragma", "No-cache");

  response.addHeader("Cache-Control", "no-cache");

  response.setDateHeader("Expires",-10);

  %>

  <%

  String name = request.getParameter("name");

  %>

  <hi>注册过期流程测试-步骤2</hi>

  <input type="button" value="确认" onclick="window.location.href='/c.jsp'"/>

  c.jsp:

  <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

  <hi>注册过期流程测试-步骤2</hi>

  <a href='b.jsp'>返回</a> <br>

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册