struts2的Interceptor配置说明(一)

Struts 2 的Interceptor配置

interceptors是一个拦截器,指可以定义一段代码可以在另一个方法执行之前或者之后被执行。(Filter 式样)。

当开发应用时interceptors可以成为一个强有力的工具。

有很多种情况下可以用到interceptors,包括验证,属性封装,安全机制,日志,性能分析
验证对输入做正确性测验
属性封装将输入参数传输和转换成类的属性
日志记录关于每个action的信息
性能分析统计action的吞吐量,寻找性能瓶颈

多个interceptor能够链接在一起来形成一个栈。如果一个action需要去check客户端的证书,对action进行记录,

对action计时,记录整个执行时间等等,

可以用一个相同的interceptor栈来完成。

interceptor使用java类实现的,所以每一个拦截器有一个对应的类名。为了使引用一个拦截器变得容易,每一个类可以在框架里面注册,

分配一个唯一的,简单的名字

注册拦截器
<interceptors>
  <interceptor name="security" class="com.company.security.SecurityInterceptor"/>
  <interceptor-stack name="secureStack">
    <interceptor-ref name="security"/>
    <interceptor-ref name=" defaultStack"/>
  </interceptor-stack>
</interceptors>
说明1:当定义一个拦截器栈的时候,个别拦截器和拦截器栈可以在任何顺序下混合配对。
说明2:在框架中会按照在拦截器栈里面定义拦截器的顺序进行逐一调用

补充说明: 补充一下此defaultStack在struts的默认配置文件中最下面有,以及默认的对应拦截器类,此拦截器类(ActionSupport)

正好是定义各种action的父类

大部分应用会定义一个缺省的拦截器栈,如下:
<default-interceptor-ref name="secureStack"/>
但是任何一个action也可以定义他自己的本地栈
本地拦截器栈
<actionname="VelocityCounter" class="org.apache.struts2.example.counter.SimpleCounter">
    <resultname="success">...</result>
    <interceptor-refname="defaultComponentStack"/>
</action>
默认的配置文件(struts-default.xml)建立了一个默认的拦截器栈,这个拦截器栈对于大部分应用都是有用的。
翻译自http://struts.apache.org/docs/interceptor-configuration.html
更为详细说明http://struts.apache.org/docs/interceptors.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值