现在的位置: 首页 > 综合 > 正文

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

2017年12月19日 ⁄ 综合 ⁄ 共 1070字 ⁄ 字号 评论关闭

今天没事  写了些练手的项目 记录一下

是这样的   一个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后 再点击后退 便会显示“页面过期”

算是实现“退出”了


抱歉!评论已关闭.