webwork 中,我们设定的是当20分钟无人操作时,HttpSession自动过期。需要一个拦截器,当HttpSession20分钟后自动过期时,跳到一个重新登陆的页面
1、拦截器
/**
* 标题:判断session过期的拦截器文件
* 说明:判断session过期的拦截器文件
*/
public class SessionValidation extends AbstractInterceptor {
/**
*
*/
private static final long serialVersionUID = 1L;
private static Log log = LogFactory.getLog(SessionValidation.class);
public void init() {
log.info("<<<初始化拦截器");
}
public void destory() {
log.info("<<<销毁拦截器");
}
public String intercept(ActionInvocation ai) throws Exception {
final String LOGON_PAGE = "logon";
Object action = ai.getAction();
// 确认Session中是否存在LOGIN
//Map session = ai.getInvocationContext().getSession();
// 对LogonAction不做该项拦截
if (action instanceof LogonAction) {
//log.info("exit check login, because this is login action.");
return ai.invoke();
}
SysUser login = (SysUser) HttpSessionUtils.get(SysUser.SES_KEY);
if (login != null) {
// 存在的情况下进行后续操作。
//log.info("already login!");
return ai.invoke();
} else {
// 否则终止后续操作,返回LOGIN
log.info("no login, forward login page!");
return LOGON_PAGE;
}
}
}
2、页面
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title><s:text name="titleKey"/></title>
<link rel="stylesheet" type="text/css" href="<s:url value="/css/msoft.css"/>">
<script language="javascript">
function funcChgTarget(){
with(document.forms[0]){
target = "_parent" ;
}
}
</script>
</head>
<body>
<center>
<s:actionerror/>
<s:actionmessage/>
<s:fielderror/>
<s:form action="logon" validate="false">
<center>
<p> </p>
<table border=0>
<tr><td><font color="red" size="3">session过期,请重新登陆!</font></td></tr>
<tr><td></td></tr>
<tr><td align="center"><s:submit action="logon" key="button.logon" onclick="funcChgTarget()" cssClass="Button"/></td></tr>
</table>
</center>
</s:form>
</center>
</body>
</html>
分享到:
相关推荐
WebWork 是一个基于Java的开源MVC(Model-View-Controller)框架,它主要用于构建企业级的Web应用程序。WebWork1.4是该框架的一个较早版本,它为开发者提供了强大的功能,包括动作映射、数据绑定、异常处理、国际化...
WebWork 是一个基于 Java 的开源 MVC(Model-View-Controller)框架,它在早期的 Web 应用开发中非常流行,尤其是在 Struts 1 之前。WebWork 提供了强大的动作(Action)处理、类型转换、拦截器(Interceptor)机制...
13. **Spring Session Components Workarounds**:解决Spring Session组件中遇到的问题的方法。 14. **WebWork Target Source ShoppingCart Example**:一个购物车示例项目的详细介绍。 15. **Spring Webflow**:...
WebWork docs 2 是一套完整的WebWork框架的详细说明文档,包含了开发者在使用WebWork时可能遇到的所有问题的解答。 这套文档涵盖了以下几个主要的知识点: 1. **WebWork基础**:WebWork的核心概念,如Action、...
ActionContext是WebWork中传递请求参数、session状态和其他上下文信息的关键对象。它封装了请求和响应对象,为Action提供了一种访问当前请求环境的统一方式。 **ServletActionContext** ServletActionContext是...
WebWork使用ServletDispatcher来处理HTTP请求,它会将请求转化为Action(业务层Action类),并且可以进行session(会话)、application(应用程序)范围的映射以及request请求参数映射。 WebWork的技术特点包括: 1...
此外,文档可能还会介绍一些最佳实践和常见问题的解决方案,帮助你深入理解和掌握WebWork2框架的使用。通过这份指南,你可以系统地学习和提升在WebWork框架下的开发技能,为构建高质量的Web应用打下坚实的基础。
在文件列表中提到的"webwork_框架文档"可能包含以下内容:框架的安装指南、配置说明、API参考、最佳实践、示例代码以及常见问题解答等。这些文档将帮助开发者了解如何设置WebWork环境,如何编写Action类,如何配置...
5. 解决问题:常见问题和解决方案,帮助开发者解决开发过程中遇到的问题。 通过深入学习"webWork学习文档",开发者不仅可以掌握WebWork的基本使用,还能了解其背后的架构设计,从而更好地利用这一框架来构建高效、...
4. **问题创作**:介绍如何编写和编辑数学问题,使用LaTeX语法和Webwork特定的标记语言,以及如何组织和导入问题库。 5. **用户权限**:说明不同角色(如教师、助教和学生)的权限设置,以及如何管理这些权限。 ...
WebWork2.0是一款基于Java的企业级Web应用框架,它为开发者提供了强大的MVC(Model-View-Controller)架构支持,旨在简化Web应用程序的开发流程,提高代码的可维护性和可扩展性。本讲解将围绕WebWork2.0的核心概念、...
而WebWork2则在Xwork基础上,处理具体的HTTP请求与响应,利用ServletDispatcher将HTTP请求转换为业务层的Action调用,并管理session、application级别的映射及request参数映射,支持多种视图技术如JSP、Velocity、...
### WebWork教程知识点详解 #### 一、WebWork框架简介 **WebWork**是一个由OpenSymphony组织开发的、致力于组件化和代码重用的拉出式MVC(Model-View-Controller)模式的J2EE Web框架。该框架的核心设计理念在于...
WebWork2是一款基于Java的MVC(Model-View-Controller)框架,用于构建Web应用程序。在Web开发领域,它提供了一种结构化和模块化的开发方式,帮助开发者更高效地组织代码并实现业务逻辑。本指南将深入探讨WebWork2的...
WebWork 是一个基于Java的MVC(模型-视图-控制器)框架,它在Web应用程序开发中被广泛使用。WebWork 1 和 WebWork 2 都是该框架的不同版本,每个版本都有其特性和改进。 WebWork 1 是早期的版本,提供了基础的MVC...
**Webwork2 开发指南** Webwork2 是一个基于Java的开源MVC(Model-View-Controller)框架,专门用于构建动态、交互式的Web应用程序。它提供了强大的数据绑定、动作控制、异常处理以及国际化等功能,使得开发者能够...
WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包WEBWORK的源文件压缩包
WebWork是一个古老的Java Web开发框架,它在早期的MVC(模型-视图-控制器)架构中占有重要地位,为开发者提供了丰富的功能和强大的动作映射能力。在深入理解WebWork源码之前,我们首先需要了解一些基本概念。 1. **...