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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值