params拦截器
负责将请求参数设置为Action属性
staticParams拦截器
将配置文件中action元素的子元素param参数设置为Action属性
servletConfig拦截器
将源于Servlet API的各种对象注入到Action,必须实现对应接口
fileUpload拦截器
对文件上传提供支持,将文件和元数据设置到对应的Action属性(用了Commons-FileUpload组件)
exception拦截器
捕获异常,并且将异常映射到用户自定义的错误页面
validation拦截器
调用验证框架进行数据验证
在struts-default.xml中定义一个defaultStack拦截器栈,并将其指定为默认拦截器。
只要在定义包的过程中继承struts-default包,那么defaultStack将是默认的拦截器。
当为包中的某个action显示指定了某个拦截器,则默认拦截器不会起作用。
拦截器栈中的各个拦截器的顺序很重要
<struts>
<package name="default" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="myTimer" class="interceptor.TimerInterceptor"></interceptor>
</interceptors>
<global-results>
<result name="success">/success.jsp</result>
</global-results>
<action name="timer" class="action.TimerAction">
<!-- 为Action显式引用拦截器后,默认的拦截器default不再生效 需要手工引用-->
<interceptor-ref name="defaultStack"></interceptor-ref>
<!-- 引用拦截器 -->
<interceptor-ref name="myTimer"></interceptor-ref>
</action>
</package> </struts>