Struts2拦截器再认识

拦截器(Interceptor)是 Struts 2 的核心组成部分。

Struts2 很多功能都是构建在拦截器基础之上的,例如文件的上传和下载、国际化、数据类型转换和数据校验等等。

Struts2 拦截器在访问某个 Action 方法之前或之后实施拦截 Struts2 拦截器是可插拔的, 拦截器是 AOP(面向切面编程) 的一种实现.

拦截器栈(Interceptor Stack): 将拦截器按一定的顺序联结成一条链. 在访问被拦截的方法时,

Struts2 拦截器链中的拦截器就会按其之前定义的顺序被依次调用

Struts2拦截器再认识

Struts2拦截器再认识

struts2自带的拦截器:

Struts2拦截器再认识

Struts2拦截器再认识

 

 

自定义规则

struts2提供的 interceptor-stack 不是让我们偷懒的,很多时候,我定义自己很多的拦截器,每一个拦截器在不同业务场景下是不同的,我们不能为了图方便,把所以拦截器全部配置为一个拦截器栈来使用,这回极大的加强服务器的负担,

比如说:methodFirstceptor 是一个方法拦截器,我们配置需要拦截的方法,而function 拦截器又不需要拦截相关的方法,所以就没有必要把他们放在一起。

<!-- 拦截器栈配置属于自己的拦截器规则 --> <interceptor-stack name="mystack"> <interceptor-ref name="methodFirstceptor"></interceptor-ref> <interceptor-ref name="funtion"></interceptor-ref> <interceptor-ref name="defaultStack"> <param name="fileUpload.maximumSize">2097152</param> <!-- <param>text/html,text/xml</param> --> <param name="fileUpload.allowedExtensions">html,dtd,xml</param> </interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </interceptor-stack>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwdgys.html