首页 > 代码库 > struts2中拦截器(interceptor)小结

struts2中拦截器(interceptor)小结

什么是拦截器?

java里的拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可以提取action中可重用部分的方式。在AOP(Aspect-Oriented Programming)中拦截器用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。Struts2内置了很多拦截器,每个拦截器完成相对独立的功能,多个拦截器的组合体成为拦截器栈。最为重要的拦截器栈是系统默认拦截器栈DefaultStack。struts2默认定义了35种拦截器,默认执行20种。

workflow拦截器源码分析

查看DefaultWorkflowInterceptor类的doIntercept()方法:

技术分享

默认错误视图:

技术分享

拦截器的注册:

技术分享

拦截器栈的注册方式:

技术分享

默认拦截器的注册方式:

技术分享

最后一句话:拦截器的执行顺序与其注册顺序相同

 

struts2中拦截器(interceptor)小结