当点击系统的退出按钮后,如果按浏览器的后退键仍能回到之前登录的页面的问题
试过了很多方法,也在网上查了下,最后自己总结的完美解决方法:
当点击系统退出按钮后,先调用Action层的doQuit()方法进行退出处理。
/***退出**/
public void doQuit(){
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
String quit = request.getParameter("quit");
if ("QUIT".equals(quit)) {
//清除登陆页面缓存HTTP1.0规范中的Pragma:no-cache等同于HTTP1.1规范中的Cache-Control:no-cache,同样可以包含在头信息中。
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache"); //强制缓存从服务器上获取新的页面
response.setHeader("Cache-Control", "no-store"); //在任何环境下缓存不保存任何页面
response.setDateHeader("Expires", 0);
request.getSession().removeAttribute("userInfo"); //清空session
request.getSession().invalidate(); // 销毁session
// 页面重定位到一个退出中间页面,倒计时。
String URL = "../toquit.jsp";
String content = 1 + ";URL=" + URL;// 1秒后进入退出页面
response.setHeader("REFRESH", content);
}
}
按道理经过上面的方法应该是已经把session清空销毁,浏览器缓存清空,但仍然没有解决遇到的问题;
这里我做了一个中间页面来处理:中间页面弹出一个对话框提示请登录,点击确定回到登录页面,这样浏览器的后退按钮已经失效,直接在浏览器地址输入地址也会弹出你还没登录,请重新登录,点击后回到登录页面,因为直接输入地址页面的session已经销毁,而那直接输入的地址页面如果session为空的话是不允许进入。
// 页面重定位到一个退出中间页面,倒计时。
String URL = "../toquit.jsp";
toQuit.jsp是一个中间页面如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>正在退出系统···</title>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link type="text/css" rel="stylesheet" href="css/public.css">
</head>
<body>
<table class="maintable" align="center" style="text-align: center;" width="500" cellspacing="0">
<tr height="100"><td></td></tr>
<tr><td>
<script type="text/javascript" language="JavaScript" > alert("请登录!");window.location.href="login.jsp";</script>
</td></tr></table>
</body>
</html>
下面是定时跳转的代码,与上面的问题无关:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>2秒后自动进入系统界面</title>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link type="text/css" rel="stylesheet" href="css/public.css">
<script language="javascript" type="text/javascript">
function delayURL(url) { //定时跳转
var delay = document.getElementById("time").innerHTML;
if(delay > 0) {
delay--;
document.getElementById("time").innerHTML = delay;
} else {
window.top.location.href = url;
}
setTimeout("delayURL('" + url + "')", 1000);
}
</script>
</head>
<body>
<table class="maintable" align="center" style="text-align: center;" width="500" cellspacing="0">
<tr height="100"><td></td></tr>
<tr><td>
<font size="4"><span id="time" style="background:red">2</span>秒后自动跳转到系统界面,如不跳转,请点击下面链接</font>
</td> </tr>
<tr><td><a href="login.jsp"><font color="blue" size="3">重新登录</font></a>
<script type="text/javascript">
delayURL("../index.jsp");
</script>
</td></tr></table>
</body>
</html>
- 大小: 8.1 KB
分享到:
相关推荐
IPL HRMS人力资源管理系统是由香港IPL Research Ltd.和上海商络软件有限公司开发的专业人力资源管理系统。致力为用户提供最优的人力资源管理系统。由上海商络软件有限公司负责IPL HRMS在中国大陆地区的开发、销售和...
HRMS(Human Resource Managent System)是人力资源管理的一个发展方向,人力资源管理系统从系统学理论的角度对人力资源管理进行阐释,注重在人力资源管理的各个方面的系统规划、设计运作,并在企业管理管理中持续...
用Rational Rose 2007制作的,关于“人力资源管理系统HRMS”的类图、用例图、状态图、顺序图,本人亲自制作,吸取各家,特此上传!
一个人力资源管理系统的小Demo 页面功能挺多 样式一般 可用来作为课程设计的参考
2014最近做好的学期项目hr 带数据 JSP页面 完全能运行 带有完整的libs jar包 J2EE SSH Ajax easyUI 带有上传功能 自动菜单生成 登录验证 员工管理 薪资管理 培训管理 招聘管理 等等
人力资源管理系统HRMS实践报告.pdf
java开发的HRMS(Human Resource Management System)是人力资源管理的一个发展方向,人力资源管理系统从系统学理论的角度对人力资源管理进行阐释,注重在人力资源管理的各个方面的系统规划、设计运作,并在企业管理...
某公司人力资源管理系统HRMS方案介绍.pptx
此系统整体采用struts1.2+spring2.5+Ibatis框架实现,数据源利用的是SpringIoC注入;模型层严格按照JavaBean规范要求;用Struts进行流程的控制,并实现了国际化,JSP用纯标签进行页面显示。为达到用户名唯一的目的...
而今天我们要做的一个demo是一个简化的HRMS(人力资源管理系统),在SSH上因为Spring本身有自己的MVC框架实现,所以我们用它来代替struts,在Ajax上我们采用两大框架组件extjs和dwr,前者可以做出非常炫目的页面效果,...
人力资源管理系统,本系统实现了以下功能:系统界面设计美观、友好;智能化程度高、操作灵活、方便;系统运行稳定、安全可靠;反应快速、计算准确;实现新员工入职登记、查询修改及入职合同的录入、编辑;登记并可以...
C#实现的人力资源管理系统,管理系统的好例子
HRMS是一个人力资源管理系统,非常好用,功能非常强大,希望大家的支持
人力资源管理系统,主要功能和性能  登入系统功能  员工信息输入、修改、查询(通过员工号或姓名)功能  员工基本工资管理和浮动工资管理功能(工资的计算、查询)  系统操作员管理...
sdfasdfasdfdasdfasdfaf asdfasdfsafasfdasdfasdfsadfasdf
hrms managemnet project
使用Visual c++开发的人力资源管理系统,附带使用说明,实现的功能本系统实现了以下功能:实现新员工入职登记、查询修改及入职合同的录入、编辑;登记并可以浏览日常考勤信息;记录公司定期的员工考核成绩;等
2. HRMS选项页面,指定驱动系统的方式,员工,职位,或者同时按员工和职务; 3. 针对产品的安装页面,输入特定产品和特定行业的安装信息; 4. HR已安装的国家地区, 指定在‘PeopleSoft人力资源’中为用户激活的...