Struts2拦截器

来源:互联网 发布:可靠性分析软件下载 编辑:程序博客网 时间:2024/05/17 23:58

Struts2核心功能的实现就是通过拦截器实现的。
拦截器:Struts2大多数核心功能是通过拦截器实现的,每个拦截器完成某项功能, 例:数据转移、类型转换、数据校验。拦截器方法在Action执行之前或者Action执行之后执行去做一些处理操作,例如权限校验等。
拦截器栈:
这里写图片描述


拦截器工作原理:
这里写图片描述
拦截器的执行过程是一个递归的过程,当Struts在执行一个action的时候,首先会在执行action之前执行一些拦截器,多个拦截器依次执行,例,首先执行Interceptor1的拦截方法,做一些处理操作,再次执行Interceptor2等。当所有拦截器执行完后,会执行action,调用action中的业务处理方法进行业务处理,该方法完成后返回一个字符串(Result),来进行视图的匹配,而这个结果现在并没有真正响应到客户端,因为在action执行完后还会需要将之前执行的拦截器反向再执行一遍,即执行Interceptor2,完成后再执行Interceptor1,当把所有拦截器反向执行完之后,此时才会进行真正的响应。这实际就是一个递归的过程。

引申:web中的过滤器执行流程与拦截器工作原理几乎一样。

0 0
原创粉丝点击