jsp页面后退问题

 说明存在三个jsp页面page1,page2,page3
通过page1查询得到page2页面,通过page2页面的链接得到page3页面
现在要后退,当在page3后退的时候,要把page2中的下面脚本删掉,否则就会报页面已经过期
<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
%>


2007-5-31 15:24 hope822
在JSP页面中,点后退按钮时,显示页面过期或操作超时之类的错误,如何做

我是用java开发的网站,数据库用的是mysql,请问,在JSP页面中,点后退按钮时,显示页面过期或操作超时之类的错误  ,
  总之显示不出页面内容,不能回到之前的页面继续操作了,这样的效果是怎么做出来的?

请高手指点,最好有代码,谢谢!
2007-5-31 16:07 赛扬
在之前的页面顶端写
<%
//禁止缓存
response.setHeader("Catch-Control","no-store");
response.setHeader("Pramga","no-catch");
response.setDateHeader("Expires",0);
%>
2007-5-31 16:23 hope822
回复 #2 赛扬 的帖子

多谢,我晚上回去试一下!;-)
2007-5-31 22:40 hope822
回复 #2 赛扬 的帖子

我试了,可是没成功!

我再说一下我要的功能:
我现在是通过后台的登陆界面进入后台,当点“退出”时,退出到后台登陆界面。此时,我再点IE浏览器上的后退按钮时,却仍能进入后台,继续进行操作,这当然不是我们所希望得到的效果。

请问, 在退出后,如何限制“后退”之后就不能再进入后台页面了,只能再登陆才能进去!

如果还是你说的这段代码的话,能否再请详细说一下代码放置位置,我把它放在html外,head里,body里,这几个地方都试了,好像都没有达到效果,还请再指点一下;如果不是,请再说一种方法,谢谢!
2007-5-31 23:40 SinNeR
之前你没说清楚,让赛扬理解错了。
通过session来控制。
用户登陆时,在session中写入用户信息,退出的时候清空session。
这样在操作页面通过判断session就可以知道当前的用户是否合法。
2007-6-1 08:43 赛扬
接SinNeR:
比如在登录表单提交后的页面,写入
<%
session.setAttribute("admin","1");//向session发送字符串变量admin,值为"1"
%>
然后通过链接或response.sendRedirect("....要转向到的页面名称....");转向到你的后台程序页面

在后台程序页面写入
<%
String admin = (String)session.getAttribute("admin");
if(admin!=null){
  //在这里正常显示登录后应显示的内容
}else{
  //这里就要报错了,未登录或已超时,显示提示信息然后N秒后自动转向到登录页面
}
%>
2007-6-1 14:12 hope822
回复 #6 赛扬 的帖子

谢谢啊
问题解决了。
这样点后退就会显示页面已过期。
但怎么能使那个后退的记忆功能没有啊!就是不能点那个后退键啊!
谢谢啊!
2007-6-1 14:15 hope822
回复 #6 赛扬 的帖子

这种方式应该是这样解决!
<%
//禁止缓存
response.setHeader("Catch-Control","no-store");
response.setHeader("Pramga","no-catch");
response.setDateHeader("Expires",0);
%>
但我用了没起作用!
是不是我放的地方不对,还是什么问题?
2007-6-1 15:54 赛扬
用禁止缓存配合session即可

以下两篇贴子供你参考
[url]http://bbs.blueidea.com/thread-701496-1-1.html[/url]
[url]http://bbs.blueidea.com/thread-1556412-1-1.html[/url]
2007-6-1 21:21 hope822
回复 #9 赛扬 的帖子

现在知道用禁止缓存配合session可以做到。
我在退出时把success设置为2。


您已没有权限,请返回重新登陆!


返回,请点这里

但我用禁止缓存的代码并没起作用?
<%
//禁止缓存
response.setHeader("Catch-Control","no-store");
response.setHeader("Pramga","no-catch");
response.setDateHeader("Expires",0);
%>
现在是点后退之后还可以看到页面的显示,只有点页面的按钮之后才出现
                         您已没有权限,请返回重新登陆!
我哪弄错了?谢了啊!
2007-6-2 12:51 hope822
还请再次指点一下,在此先谢过拉!
2007-6-2 13:18 asp910
你那些是在服务器端执行的,后退时是没有向服务器请求的
看到的页面可能是浏览器之前缓存在Temporary Internet Files目录下的
清理一下缓存测试一下
另外session权限判断最好放在Filter下,然后配置过滤的url,这样方便一些

 


<%@page contentType="text/html;charset=gb2312" language="java"%>
<%@taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@page import="com.fsti.doms.core.model.DOMSGlobalConstant" %>
<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
%>












 
 
 

 
项目信息更改列表
查无数据




 
  

批量项目信息更改成功!


 

 
  

料单操作成功!


 







 
 
 
 
 
 
 
 
 
  
 
 
 
 

   
   
   
   
 
 
 
 
 
 
 
 
 
 
 


全选序号申请单编号正式单编号申请单开单时间申请人项目编号项目名称工程队名称总金额料单状态
"><%=index.intValue()+1%>&billType=">&billType=">&billType=">&billType=">&billType=">
 
    
 
 
&billType=">
 
   
 
 
&billType=">
 
   
 
 
&billType=">
           
 
&billType=">


 
  
  
  
  
 
 
  
                     
 
项目编号:
   
   
    * 
项目名称:
项目经理:
   
   
   

 


">










你可能感兴趣的:(html相关)