struts2中的拦截器

原创 2016年08月29日 19:51:15

struts2中的拦截器在action执行的前后执行,Struts2的核心功能都是通过拦截器实现的,多个拦截器可以组成拦截器栈;

作用:对于action中的一些公共代码可以放到拦截器中实现.如权限控制,日志等;

多个拦截器之间的执行是采用责任链设计模式来实现的;

拦截器的实现步骤

1)编写拦截器(实现 Interceptor接口或者继承AbstractInterceptor类)

2)在struts.xml中 配置拦截器

3)在action中引用拦截器

拦截器配置详解

1)当引用自定义拦截器时,默认拦截器将不起作用

2)struts-defaut.xml中,配置了默认拦截器,如果不引用拦截器,那么默认的拦截器将起作用

<default-interceptor-ref name="defaultStack"/>

3)当引用自定义拦截器后,又想使用struts2提供的拦截器功能,那么需要手动引用 

		<action name="hello" class="cn.xsx.action.HelloAction">
			<result>/index.jsp</result>
			<!-- 引用拦截器 -->
			<interceptor-ref name="time"></interceptor-ref>
			<!-- 引用默认拦截器栈(引用拦截器栈与引用拦截器栈的方式一样) -->
			<interceptor-ref name="defaultStack"></interceptor-ref>
		</action>
4)当引用的拦截器比较多时,可以将多个拦截器放入拦截器栈中

		<interceptors>
			<!-- 配置拦截器 -->
			<interceptor name="time" class="cn.xsx.interceptor.TimeInterceptor"></interceptor>
			<!-- 定义自定义拦截器栈 (一个拦截器栈里可以包含多个拦截器引用)-->
			<interceptor-stack name="znStack">			
				<!-- 引用拦截器 -->
				<interceptor-ref name="time"></interceptor-ref>
				<!-- 引用默认拦截器栈(引用拦截器栈与引用拦截器栈的方式一样) -->
				<interceptor-ref name= "defaultStack"></interceptor-ref>
			</interceptor-stack>			
		</interceptors>
5)当自定义拦截器栈在这个包下所有的action都使用时,可以定义为默认的拦截器栈,或默认的拦截器
		<interceptors>
			<!-- 配置拦截器 -->
			<interceptor name="time" class="cn.xsx.interceptor.TimeInterceptor"></interceptor>
			<!-- 定义自定义拦截器栈 (一个拦截器栈里可以包含多个拦截器引用)-->
			<interceptor-stack name="znStack">			
				<!-- 引用拦截器 -->
				<interceptor-ref name="time"></interceptor-ref>
				<!-- 引用默认拦截器栈(引用拦截器栈与引用拦截器栈的方式一样) -->
				<interceptor-ref name= "defaultStack"></interceptor-ref>
			</interceptor-stack>			
		</interceptors>
		<!-- 定义默认的拦截器(或者拦截器栈) -->
		<default-interceptor-ref name="znStack">



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

struts2的自定义拦截器例子

  • 2016年12月30日 11:00
  • 3.55MB
  • 下载

struts2自定义拦截器配置心得

  • 2013年09月02日 17:38
  • 17KB
  • 下载

Struts2拦截器精解

转载出处:http://blog.csdn.net/zhang_xinxiu/article/details/24892735  上篇博客对Struts2的体系结构做了初步的了解,S...

struts2常用拦截器

  • 2013年11月26日 15:33
  • 248B
  • 下载

Struts2 拦截器(二十三)

1.什么是拦截器? 拦截器(interceptor) 是动态拦截Action调用的对象,在执行Action的业务逻辑处理方法execute 之前 ,Struts2中会首先执行struts.xml中引用...

struts2拦截器

  • 2014年04月29日 02:53
  • 13KB
  • 下载

Struts2学习笔记(五)——服务端验证以及拦截器过滤器

Struts2 有两种方式实现服务端验证 (一)使用ActionSupport编码实现验证 1)在action中进行验证     if("".equals(user.getName())||user....

Struts2(4)拦截器与验证框架

  • 2013年01月10日 08:44
  • 187KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:struts2中的拦截器
举报原因:
原因补充:

(最多只允许输入30个字)