当点击系统的退出按钮后,如果按浏览器的后退键仍能回到之前登录的页面的问题
试过了很多方法,也在网上查了下,最后自己总结的完美解决方法:
当点击系统退出按钮后,先调用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
分享到:
相关推荐
系统能根据员工的工作时间和绩效自动计算薪资,同时支持设定不同类型的福利政策。 4. **招聘与面试管理**:管理招聘流程,包括发布职位、筛选简历、安排面试、跟踪候选人状态等。有助于提高招聘效率,降低人力成本...
《深入解析:人力资源管理系统HRMS的设计与实现》 在当今的企业运营中,人力资源管理系统的角色愈发重要,它已经成为企业管理的核心工具之一。本文将基于“人力资源管理系统HRMS”的设计与实现,详细探讨类图、用例...
IPL HRMS人力资源管理系统是一款由香港IPL Research Ltd.与上海商络软件有限公司共同研发的专业级解决方案,旨在为各类企业提供高效、全面的人力资源管理。作为香港联交所上市公司0046号成员的附属公司,这两家公司...
* 系统集成:HRMS系统需要与其他企业信息系统进行集成,包括人力资源管理系统、薪资管理系统、培训管理系统、绩效管理系统等。 * 安全性:HRMS系统需要确保数据的安全性和机密性,防止未经授权的访问和泄露。 HRMS...
数据库是存储和管理信息的核心工具,特别是在企业级应用中,如HRMS(人力资源管理系统)。Oracle数据库是全球广泛使用的商业数据库管理系统之一,以其高效、稳定和安全性著称。在这个"数据库+hrms Oracle数据库"的...
1. **Web开发技术**:HRMS系统采用Web开发模式,这意味着用户可以通过任何支持Web浏览器的设备访问系统,无需安装特定客户端。常见的Web开发技术包括HTML、CSS、JavaScript,后端开发可能涉及PHP、Java、Python或...
HRMS(Human Resource Managent System)是人力资源管理的一个发展方向,人力资源管理系统从系统学理论的角度对人力资源管理进行阐释,注重在人力资源管理的各个方面的系统规划、设计运作,并在企业管理管理中持续...
《HRMS人力资源管理系统:SSH框架与JS集成应用详解》 在现代企业中,人力资源管理扮演着至关重要的角色,有效的管理不仅能够提升工作效率,还能优化资源配置。HRMS(Human Resource Management System)便是这样的...
2014最近做好的学期项目hr 带数据 JSP页面 完全能运行 带有完整的libs jar包 J2EE SSH Ajax easyUI 带有上传功能 自动菜单生成 登录验证 员工管理 薪资管理 培训管理 招聘管理 等等
《HRMS 人力资源管理系统——基于VB .NET的高效解决方案》 HRMS,即Human Resource Management System,是企业用于管理和优化人力资源流程的重要工具。本系统采用VB .NET编程语言进行开发,充分利用了该语言的易用...
《C#实现的人力资源管理系统详解》 在信息化日益普及的今天,人力资源管理系统的应用已经成为了企业日常运营不可或缺的一部分。本文将围绕一个基于C#语言开发的人力资源管理系统(HRMS)进行深入探讨,旨在帮助读者...
系统能自动跟踪员工的晋升历程,帮助管理层做出公正且有依据的决策。同时,所有这些信息都可以导出为DOC文档或Excel表格,便于线下分析和分享。 总的来说,"hrms.rar_ASP 表格_hrms asp_人事管理系统_员工管理_员工...
java开发的HRMS(Human Resource Management System)是人力资源管理的一个发展方向,人力资源管理系统从系统学理论的角度对人力资源管理进行阐释,注重在人力资源管理的各个方面的系统规划、设计运作,并在企业管理...
使用HRMS系统实例,不仅可以了解系统的操作界面和流程,还能体验到系统如何整合人力资源的各项任务,从而提高工作效率,优化决策。对于初次接触或考虑引入HRMS的企业来说,这是一个极好的实践平台,能够帮助他们更好...
《GTC.HRMS-9.0考勤软件使用说明书》是针对GTC.HRMS 9.0版本考勤管理系统的详细指南,旨在帮助用户理解并熟练掌握该软件的各项功能和操作流程。本说明书采用HTML和Word两种格式提供,方便用户在不同设备和环境下阅读...
系统中的"hrms.p"可能是程序的主要入口或核心处理部分,而"hrms_p"可能表示该系统的特定版本或模块。 从压缩包内的文件名我们可以推测出系统的结构和功能。"fieldsetting"可能涉及到字段设置或配置,这是系统初始化...
7. **权限管理**:作为一个管理系统,SSM_HRMS-master很可能包含用户登录、角色权限分配等功能,这通常需要实现基于角色的访问控制(Role-Based Access Control, RBAC),确保不同用户能访问到相应的功能。...
《HRMS:人力资源管理系统详解与应用》 HRMS(Human Resource Management System)是企业信息化建设中的重要组成部分,它集成了人力资源管理的多个模块,旨在提高人力资源管理效率,优化企业内部流程。本压缩包文件...
【标题】"HRMS.zip_HRMS_hrms jsp_jsp and hrms_project" 提供了一个关于企业人力资源管理系统(HRMS)的项目,这个系统基于JSP(JavaServer Pages)技术构建。HRMS是一个用于管理公司员工信息、招聘、薪酬、绩效等...