`
ivoter
  • 浏览: 91732 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2设置全局的interceptor

 
阅读更多

今天领导布置任务需要为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>
分享到:
评论

相关推荐

    留言板留言板struts2留言板struts2

    9. **异常处理**:Struts2通过全局异常映射(Global Exception Mapping)来统一处理应用程序中抛出的异常,提高代码的可维护性。 10. **国际化与本地化**:Struts2支持多语言环境,可以通过资源包(properties文件...

    struts2小程序 struts2代码

    8. **Validation框架**:Struts2提供了强大的表单验证功能,可以在Action级别或全局级别定义验证规则。 9. **Plug-in扩展性**:Struts2支持丰富的插件系统,可以方便地集成其他框架,如Spring、Hibernate等。 在`...

    struts2完整版

    其次,Struts2引入了拦截器(Interceptor)机制,这是Struts1所不具备的。拦截器允许开发者实现AOP(面向切面编程)的功能,比如登录检查、性能监控、事务管理等,增强了框架的灵活性和可扩展性。 Struts2还提供了...

    Struts2主要Lib

    3. **配置文件**:Struts2的配置文件通常是`struts.xml`,定义了Action与结果的映射,过滤器设置,拦截器链等。它允许开发者以声明式的方式配置应用程序的行为。 4. **拦截器(Interceptor)**:拦截器是Struts2的...

    struts2的新闻管理系统

    Struts2通过拦截器(Interceptor)机制实现了AOP(面向切面编程),提供了异常处理、数据验证、国际化等高级功能。 在"新闻管理系统"中,可能包含以下几个主要模块: 1. **新闻管理**:这是系统的核心部分,包括...

    struts2核心技术整理

    Struts2的全局异常处理机制允许开发者定义全局的错误页面或Action,统一处理应用中抛出的异常。这通常通过`&lt;global-exception-mappings&gt;`和`&lt;global-results&gt;`配置实现。 六、插件体系 Struts2拥有丰富的插件系统...

    Struts2实验案例项目

    9. **异常处理**:Struts2允许全局或局部地定义异常处理策略,通过`&lt;exception-mapping&gt;`标签,可以指定不同类型的异常如何被处理。 10. **插件系统**:Struts2拥有丰富的插件库,如Ajax支持、JSON处理、Spring集成...

    Struts2项目代码

    5. **Struts2配置文件**:struts.xml是Struts2项目的主配置文件,用于定义Action、Interceptor、常量等。开发者可以根据需要在其中配置URL映射、拦截器栈、全局结果等。 6. **国际化与主题支持**:Struts2支持多...

    struts2-blank

    通过深入学习和理解"struts2-blank"这个项目,你可以掌握Struts2的基本架构、配置方式、Action的编写、Interceptor的使用以及如何组织视图。这对于理解和开发基于Struts2的Java web应用至关重要。同时,这个项目也是...

    Struts2 in action(struts2实战)

    - **XML配置**:传统的Struts2配置通常在struts.xml文件中进行,定义Action、Result和Interceptor等元素。 - **注解配置**:Struts2也支持使用Java注解来简化配置,直接在Action类或方法上添加注解即可。 3. **...

    struts2 jar包

    1. **核心框架**:struts2-core.jar 包含了Struts2框架的基本组件,如Action、Result、Interceptor等。这些组件协同工作,使得开发者能够构建出高度模块化的应用程序。 2. **插件**:Struts2支持许多插件,如struts...

    struts2的lib包

    2. **Interceptor**(拦截器):拦截器是Struts2的一大特色,它允许开发者在Action执行前后插入自定义的处理逻辑,如权限验证、日志记录、性能监控等。拦截器的组合使用可以构建出强大的功能模块。 3. **Result**:...

    struts2框架模板

    - **Interceptor**:拦截器是Struts2的重要特性,它们按照预定义的顺序在Action执行前后进行拦截,实现如日志、权限检查等功能。 - **常用拦截器**:包括params(参数预处理)、validation(验证)、i18n(国际化...

    Struts2 开发包

    3. **Interceptor(拦截器)**:拦截器是Struts2中的重要概念,它们在Action执行前后插入代码,实现了AOP(面向切面编程)的理念。常见的拦截器有日志、验证、异常处理等。通过配置`struts.xml`,可以定制拦截器链,...

    struts2 拦截器实例

    在Struts2中,拦截器(Interceptor)扮演着核心角色,它们允许开发者在Action执行前后插入自定义的逻辑,如日志、权限检查、事务管理等。现在我们将深入探讨Struts2的拦截器机制及其实例应用。 ### 一、Struts2拦截...

    struts2-docs

    4. **拦截器(Interceptor)**:拦截器是Struts2的一大特色,它们按照预定义的顺序在Action调用前后执行,可以实现如日志记录、权限验证等功能。 5. **结果类型(Result Type)**:结果类型定义了Action执行后如何...

    struts2完整压缩包

    `struts.xml`用于配置Action、结果、拦截器等,而`struts.properties`通常用于设置全局属性。 7. **插件支持**: Struts2拥有丰富的插件库,如Struts2-dojo-plugin用于集成Dojo库,Struts2-convention-plugin则支持...

    struts2测试案例

    9. **异常处理**:Struts2允许全局或局部地处理应用程序中的异常,提供了一种优雅的方式来管理错误和异常信息。 10. **插件机制**:Struts2有一个强大的插件系统,可以扩展框架的功能,如Spring插件可以方便地与...

    struts与struts2的区别

    而Struts2则是在Struts1的基础上进行了全面改进,采用了拦截器(Interceptor)机制,使得处理请求的方式更加灵活和模块化。 **2. 拦截器:** Struts2的核心就是拦截器,它们是基于责任链模式实现的,可以进行一系列...

    struts2完整例子

    4. **拦截器(Interceptor)**:拦截器是Struts2的一个强大特性,它允许在Action执行前后插入自定义逻辑。常见的拦截器有:`params`拦截器处理请求参数,`validation`拦截器执行字段验证,`exception`拦截器处理异常...

Global site tag (gtag.js) - Google Analytics