您的位置:首页 > 其它

定时关闭页面&注销至登陆页面&清除缓存

2014-04-28 22:30 686 查看
今天没事  写了些练手的项目 记录一下

是这样的   一个welcome.jsp里有几个frameset和frame  分别是header.jsp  bodyleft.jsp 和 bdyright.jsp

在header.jsp页面里有 “欢迎xxx” “修改密码” “退出” 三个功能

点击“修改密码”后 target="_blank"  跳转到新页面alterpwd.jsp  

该页面有3个input标签  一个是oldCode 一个是newCode 和一个提交按钮

点击提交后  执行AlterPwdServlet里的一些业务  比如先判断oldCode是否与数据库中的一致 是则可修改 否则不能修改

1.当修改成功后 alterpwd.jsp自动3秒后关闭

先用隐式对象的response得到writer  然后再写js代码

而这个js代码就可以实现该功能

response.getWriter().println(
"<script style=\"text/javascript\">"
+ "document.write(\"页面3秒后关闭\");"
+ "setTimeout('window.close()', 3000);"
+ "</script>");


2.注销转至登录页面 

当点击header.jsp中的“退出”时候  只有header.jsp会跳转回login.jsp   

但是如何让welcome.jsp退至login.jsp?

下面是一段js可以实现

<script type="text/javascript">
function quit() {
window.location.href = "/inspection/QuitServlet";
window.parent.location.href = "login.jsp";
}
</script>
然后在“退出”的a标签中调用该函数
<a href="javascript:quit()">


问题3来了

3.所谓的“退出”后  再点击浏览器的后退后  页面又可以回到登陆后的状态

这叫哪门子的退出

后来查资料  学到一种清理浏览器缓存的机制

即:

<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","No-cache");
response.setDateHeader("Expires", -1);
response.setHeader("Cache-Control", "No-store");
%>
将这段代码添加到welcom.jsp后 再点击后退 便会显示“页面过期”

算是实现“退出”了


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: