Struts 2 Interceptor 实例

简介:

7.6. Interceptor

7.6.1. Session

在 web.xml 文件中定义 Session 超时时间

			
<session-config>  
    <session-timeout>30</session-timeout>  
</session-config>			
			
			

创建拦截器程序

			
package cn.netkiller.interceptor;

import java.util.Map;
import java.lang.Override;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class SessionInterceptor extends AbstractInterceptor {

	private static final long serialVersionUID = 8347994918002285514L;

	@Override
	public String intercept(ActionInvocation invocation) throws Exception {
		Map<String, Object> session = invocation.getInvocationContext().getSession();
		if (session.isEmpty())
			return "nosession"; // session is empty/expired
		return invocation.invoke();
	}
}
			
			

配置拦截器

			
	<package name="mobile" extends="main" namespace="/mobile">
		<global-results>
			<result name="nosession" type="redirectAction">
				<param name="actionName">Index</param>
				<param name="namespace">/mobile</param>
			</result>
		</global-results>			
		<interceptor name="session" class="cn.netkiller.SessionInterceptor" />
		<interceptor-stack name="sessionExpirayStack">
    		<interceptor-ref name="defaultStack"/>
    		<interceptor-ref name="session"/>
   		</interceptor-stack>
   		<default-interceptor-ref name="sessionExpirayStack" />

		<action name="testAction" class="TestClass">
    		<interceptor-ref name="sessionExpirayStack" />
    		<result name="success">success.jsp</result>
    		<result name="error">error.jsp</result>
  		</action>
  	</package>
目录
相关文章
|
7月前
Struts2的拦截器
Struts2的拦截器
25 0
|
Java 关系型数据库 MySQL
Struts2【拦截器】(二)
Struts2【拦截器】
128 0
Struts2【拦截器】(二)
|
Java
Struts2【拦截器】(一)
Struts2【拦截器】
137 0
Struts2【拦截器】(一)
|
小程序 Java
Struts2【拦截器】(三)
Struts2【拦截器】
157 0
Struts2【拦截器】(三)
|
Java NoSQL Redis
Struts 拦截器
介绍 实现aop的方式用于实现action之前,之后执行一般用于事物操作.一般用于对某些未授权的页面访问的时候,进行拦截操作,拦截非法访问. 开箱即用拦截器 <!-- 拦截器 --> <interceptor-ref name="params"/> ...
1081 0
|
SQL Java 数据库
Struts2【拦截器】就是这么简单
什么是拦截器 拦截器Interceptor.....拦截器是Struts的概念,它与过滤器是类似的...可以近似于看作是过滤器 为什么我们要使用拦截器 前面在介绍Struts的时候已经讲解过了,Struts为我们实现了很多的功能,比如数据自动封装阿..文件上传功能阿....Struts为我们提供的这些功能都是通过拦截器完成的...... 数据自动封装通过这个拦截器。
1100 0
|
Java 数据安全/隐私保护 前端开发