今天领导布置任务需要为struts2配置一个全局的拦截器,作用是拦截url请求但不拦截ajax请求,对所有的url请求进行session失效判断。session失效时间的配置在web.xml中
<session-config>
<session-timeout>30</session-timeout>
</session-config>
首先创建全局的拦截器文件struts-interceptor.xml,在文件中创建全局的拦截器和全局的resault,代码如下。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="interceptor-default" extends="json-default">
<!-- 全局的拦截器 -->
<interceptors>
<interceptor name="sessionItcpt"
class="com.hlyd.s1.struts.iterceptor.SessionIterceptor">
</interceptor>
<!-- 自定义拦截器栈 -->
<interceptor-stack name="mySessionStack">
<interceptor-ref name="sessionItcpt"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<!-- 将自定义拦截器栈设置默认的拦截器 -->
<default-interceptor-ref name="mySessionStack"></default-interceptor-ref>
<!-- 定义全局的resault -->
<global-results>
<result name="json" type="velocity">/pages/json.vm</result>
<result name="login" type="redirectAction">
<param name="actionName">login</param>
<param name="namespace">/auth</param>
</result>
</global-results>
</package>
</struts>
下边就是使用定义好的全局拦截器了,在其struts的配置文件中extends这个配置文件就可以了。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
"classpath:struts-2.1.dtd">
<struts>
<package name="auth" namespace="/auth" extends="interceptor-default">
<action name="index" class="authAction" method="index">
<result name="success" type="velocity">/pages/login.vm</result>
</action>
<action name="login" class="authAction" method="login">
<result name="success" type="redirect">/portal/frame.action</result>
<result name="errorMsg" type="velocity">/pages/login.vm</result>
</action>
</package>
</struts>
分享到:
相关推荐
9. **异常处理**:Struts2通过全局异常映射(Global Exception Mapping)来统一处理应用程序中抛出的异常,提高代码的可维护性。 10. **国际化与本地化**:Struts2支持多语言环境,可以通过资源包(properties文件...
8. **Validation框架**:Struts2提供了强大的表单验证功能,可以在Action级别或全局级别定义验证规则。 9. **Plug-in扩展性**:Struts2支持丰富的插件系统,可以方便地集成其他框架,如Spring、Hibernate等。 在`...
其次,Struts2引入了拦截器(Interceptor)机制,这是Struts1所不具备的。拦截器允许开发者实现AOP(面向切面编程)的功能,比如登录检查、性能监控、事务管理等,增强了框架的灵活性和可扩展性。 Struts2还提供了...
3. **配置文件**:Struts2的配置文件通常是`struts.xml`,定义了Action与结果的映射,过滤器设置,拦截器链等。它允许开发者以声明式的方式配置应用程序的行为。 4. **拦截器(Interceptor)**:拦截器是Struts2的...
Struts2通过拦截器(Interceptor)机制实现了AOP(面向切面编程),提供了异常处理、数据验证、国际化等高级功能。 在"新闻管理系统"中,可能包含以下几个主要模块: 1. **新闻管理**:这是系统的核心部分,包括...
Struts2的全局异常处理机制允许开发者定义全局的错误页面或Action,统一处理应用中抛出的异常。这通常通过`<global-exception-mappings>`和`<global-results>`配置实现。 六、插件体系 Struts2拥有丰富的插件系统...
9. **异常处理**:Struts2允许全局或局部地定义异常处理策略,通过`<exception-mapping>`标签,可以指定不同类型的异常如何被处理。 10. **插件系统**:Struts2拥有丰富的插件库,如Ajax支持、JSON处理、Spring集成...
5. **Struts2配置文件**:struts.xml是Struts2项目的主配置文件,用于定义Action、Interceptor、常量等。开发者可以根据需要在其中配置URL映射、拦截器栈、全局结果等。 6. **国际化与主题支持**:Struts2支持多...
通过深入学习和理解"struts2-blank"这个项目,你可以掌握Struts2的基本架构、配置方式、Action的编写、Interceptor的使用以及如何组织视图。这对于理解和开发基于Struts2的Java web应用至关重要。同时,这个项目也是...
- **XML配置**:传统的Struts2配置通常在struts.xml文件中进行,定义Action、Result和Interceptor等元素。 - **注解配置**:Struts2也支持使用Java注解来简化配置,直接在Action类或方法上添加注解即可。 3. **...
1. **核心框架**:struts2-core.jar 包含了Struts2框架的基本组件,如Action、Result、Interceptor等。这些组件协同工作,使得开发者能够构建出高度模块化的应用程序。 2. **插件**:Struts2支持许多插件,如struts...
2. **Interceptor**(拦截器):拦截器是Struts2的一大特色,它允许开发者在Action执行前后插入自定义的处理逻辑,如权限验证、日志记录、性能监控等。拦截器的组合使用可以构建出强大的功能模块。 3. **Result**:...
- **Interceptor**:拦截器是Struts2的重要特性,它们按照预定义的顺序在Action执行前后进行拦截,实现如日志、权限检查等功能。 - **常用拦截器**:包括params(参数预处理)、validation(验证)、i18n(国际化...
3. **Interceptor(拦截器)**:拦截器是Struts2中的重要概念,它们在Action执行前后插入代码,实现了AOP(面向切面编程)的理念。常见的拦截器有日志、验证、异常处理等。通过配置`struts.xml`,可以定制拦截器链,...
在Struts2中,拦截器(Interceptor)扮演着核心角色,它们允许开发者在Action执行前后插入自定义的逻辑,如日志、权限检查、事务管理等。现在我们将深入探讨Struts2的拦截器机制及其实例应用。 ### 一、Struts2拦截...
4. **拦截器(Interceptor)**:拦截器是Struts2的一大特色,它们按照预定义的顺序在Action调用前后执行,可以实现如日志记录、权限验证等功能。 5. **结果类型(Result Type)**:结果类型定义了Action执行后如何...
`struts.xml`用于配置Action、结果、拦截器等,而`struts.properties`通常用于设置全局属性。 7. **插件支持**: Struts2拥有丰富的插件库,如Struts2-dojo-plugin用于集成Dojo库,Struts2-convention-plugin则支持...
9. **异常处理**:Struts2允许全局或局部地处理应用程序中的异常,提供了一种优雅的方式来管理错误和异常信息。 10. **插件机制**:Struts2有一个强大的插件系统,可以扩展框架的功能,如Spring插件可以方便地与...
而Struts2则是在Struts1的基础上进行了全面改进,采用了拦截器(Interceptor)机制,使得处理请求的方式更加灵活和模块化。 **2. 拦截器:** Struts2的核心就是拦截器,它们是基于责任链模式实现的,可以进行一系列...
4. **拦截器(Interceptor)**:拦截器是Struts2的一个强大特性,它允许在Action执行前后插入自定义逻辑。常见的拦截器有:`params`拦截器处理请求参数,`validation`拦截器执行字段验证,`exception`拦截器处理异常...