`
ivoter
  • 浏览: 90608 次
  • 性别: 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>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics