Struts2拦截器

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


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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值