struts2中的拦截器

struts2中的拦截器

Struts2的拦截器基本概念

在Webwork的中文文档的解释为 : 拦截器是动态拦截Action调用的对象。

是struts2中的一个核心技术

它提供了一种机制
可以使开发者在定义的action执行的前后加入执行的代码,也可以在一个action执行前阻止其执行。

也就是说它提供了一种可以提取 action中可重用代码,统一管理和执行的方式。

拦截器和过滤器的区别

  • 区别

    • 过滤器是 servlet规范中的一部分,任何java web工程都可以使用。

    • 拦截器是 struts2 框架自己的,只有使用了struts2 框架的工程才能用。

    • 过滤器在 url-pattern中配置了/*之后,可以对所有要访问的资源拦截。
    • 拦截器它是只有进入 struts2 核心内部之后,才会起作用,如果访问的是 jsp,
      html,css,image 或者 js是不会进行拦截的。
    • 同时,拦截器还是AOP编程思想的具体体现形式。AOP(Aspect-Oriented Programming)简单的
      说就是:
      在不修改源码的基础上,已有的方法进行动态增强。
    • 在 struts2中,拦截器它就是对我们的动作方法进行增强。 (其实就是把重复性的代码提取出来,
      然后放到拦截器中,统一管理,统一调用)

拦截器的作用

Struts2 中的很多功能都是由拦截器完成的。

我们在第一天介绍 struts2 配置文件时,介绍了名称为
struts-default.xml 的配置文件,该配置文件中有 struts2 框架给我们提供的很多拦截器。比如:
servletConfig,staticParam,params,modelDriven 等等。我们通过实现接口方式获取 ServletAPI以及
模型驱动封装请求参数,都是拦截器在帮我们做。

拦截器的执行时机

  • 在访问struts2 核心内部时,在动作方法执行之前先正序执行,然后执行动作方法,执行完动作方法和结果视图之后,再倒序执行。所以它是先进后出,是个栈的结构。具体可参考下图:

拦截器的执行

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值