CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

用jsp可否屏蔽ie的前进、后退键吗?

楼主leonyuann(舞月光)2005-08-19 17:26:22 在 Java / Web 开发 提问

我做一个登录程序:login.jsp->index.jsp->....->logout.jsp  
  我想达到这样的效果:登录进到index.jsp后,点ie后退则出现错误提示页面:“已经登录”,不能再返回到login.jsp;  
  退出到logout.jsp页面后,点ie后退则出现错误提示页面:“已经退出”,不能再返回到上一页面;  
  费了半天劲,也不能很好的控制,谁能给我个解决方法?请尽量具体说说 问题点数:50、回复次数:15Top

1 楼hui_feng(盘桃2)回复于 2005-08-19 17:35:27 得分 0

应该可以。不过我不知道怎么实现。。。。。。也想要。帮你顶一下。Top

2 楼samplerain(samplerain)回复于 2005-08-19 18:39:33 得分 20

用filter来实现:  
  1.写一个filter类   implements   javax.servlet.Filter  
      在doFilter中校验登陆信息,具体google一下(其实就几句话啦)  
  2.web.xml中配置这个filter,以及filtermapping,也   gooooogle  
  3.设置session   timeout   时间  
  4.登出的时候   session.invalidate()  
  。。Top

3 楼shenpipi(皮皮)回复于 2005-08-19 18:53:37 得分 10

首先说,你需要的这个功能不叫屏蔽ie的前进和后退.  
  要完成这个功能,只需要在所有的页面里都包含对用户是否登陆的检查(当然,login.jsp里面不能有),如果没有登陆就重定向(这个功能可以做成filter,也可以不做,自己看着办).而且,要设置页面的expire的时间.Top

4 楼leonyuann(舞月光)回复于 2005-08-19 21:13:47 得分 0

shenpipi,能不能具体说说,怎么在页面中检查,又怎么重定向?能给个具体的代码吗?我真的很想了解,谢谢Top

5 楼humanity(城市边缘的狼)回复于 2005-08-19 21:17:31 得分 10

response.setHeader("Expire",0);   //   立即就失效,再次访问需要重新获取。  
  response.setHeader("Pragma","no-cache");   //不缓存页面,  
  response.setHeader("Pragma","no-store");//   任何环境都不缓存。  
   
  没有缓存,他点击   前进   ,   后退   就没有意义。  
   
  Top

6 楼humanity(城市边缘的狼)回复于 2005-08-19 21:20:13 得分 0

失察,  
   
   
  你如果检测到已经登录就直接转到   登陆后的主页面,   已经注销就转到登录页面,  
   
  因为你按上面的方式处理后就不会有缓存,自然就会很及时地发现     这个用户是不是已经登录。Top

7 楼wangqm0629(风景)回复于 2005-08-19 22:05:45 得分 0

我也想知道Top

8 楼xiaohai_34(●饼干●)回复于 2005-08-20 23:15:55 得分 0

现在只想到sessionTop

9 楼leonyuann(舞月光)回复于 2005-08-22 09:15:23 得分 0

humanity(很健忘了),你的方法网上说的很多,但这样做ie依然能够后退、前进,因为ie后退只是一个对客户端cache的操作,而与服务器端无关Top

10 楼shoulders(Developer)回复于 2005-08-22 09:30:47 得分 10

我觉得这个这么做:  
  在login.jsp页面的前部分你写短程序专门用来处理session,用来判断用户是否已经登录,如果已经登录,则就forward->index.jsp  
  同理在其他jsp文件的开头都这么处理,用来判断用户是否已经登录,如果没有登录,就转到登录界面,同时还要考虑session   time   out的问题.Top

11 楼samplerain(samplerain)回复于 2005-08-22 09:36:45 得分 0

response.setHeader("Expire",0);   //   立即就失效,再次访问需要重新获取。  
  response.setHeader("Pragma","no-cache");   //不缓存页面,  
  response.setHeader("Pragma","no-store");//   任何环境都不缓存  
   
  这些只对https起作用...Top

12 楼strawren(大漠)回复于 2005-08-22 09:38:25 得分 0

解决办法很多,楼上兄弟们说的都可行。  
  一、  
  在login.jsp页面的前部分你写短程序专门用来处理session,用来判断用户是否已经登录,如果已经登录,则就forward->index.jsp  
  同理在其他jsp文件的开头都这么处理,用来判断用户是否已经登录,如果没有登录,就转到登录界面,同时还要考虑session   time   out的问题.  
   
  二、  
  用filter来实现:  
  1.写一个filter类   implements   javax.servlet.Filter  
      在doFilter中校验登陆信息,具体google一下(其实就几句话啦)  
  2.web.xml中配置这个filter,以及filtermapping,也   gooooogle  
  3.设置session   timeout   时间  
  4.登出的时候   session.invalidate()  
  Top

13 楼leonyuann(舞月光)回复于 2005-08-22 09:51:27 得分 0

shoulders(Developer),ie后退只是一个对客户端cache的操作,而与服务器端无关,我觉得用session根本无法控制ie的后退功能,应为ie后退只是简单的将客户端cache中的页面取出,好像并不再判断session吧?  
  Top

14 楼leonyuann(舞月光)回复于 2005-08-23 14:08:48 得分 0

我想问一下,filter是线程安全的吗?是否需要自己在doFilter中控制线程安全?Top

15 楼samplerain(samplerain)回复于 2005-08-23 16:30:47 得分 0

这些东西你觉得还用我们来考虑么?什么叫框架?如果我们灵机一动想到的就能是重大缺陷...  
   
  结贴是一种美德~Top

相关问题

  • 我用JSP做了个聊天室, 怎么屏蔽掉IE上的工具栏?
  • JSP中,当进行IE浏览时,怎样屏蔽切换功能(ALT+Tab),怎样全屏IE。
  • 如何在jsp中屏蔽hyperlink
  • 如何能屏蔽ie上的菜单????
  • 怎么屏蔽ie的返回按钮!
  • 怎样屏蔽ie打印功能!
  • 怎样屏蔽IE的快捷键
  • 如何屏蔽IE的“后退”按扭
  • 如何取消IE的屏蔽
  • 在jsp中如何<font size="20">ddd</font>屏蔽掉

关键词

  • 页面
  • ie
  • 用户
  • jsp
  • 客户
  • 控制
  • 后退
  • 登录
  • 缓存
  • 前进

得分解答快速导航

  • 帖主:leonyuann
  • samplerain
  • shenpipi
  • humanity
  • shoulders

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo