struts2内建拦截器

本文详细介绍了Struts2框架中的各种拦截器及其作用,包括alias、autowiring、chain等,并列举了默认拦截器堆栈包含的具体拦截器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[b]1. alias:[/b]实现在不同请求中相似参数别名的转换;

[b]2. autowiring:[/b]自动装配的拦截器,主要用于和spring整合时,struts2可以使用自动装配的方式访问spring的bean

[b]3. chain:[/b]使当前action可以访问前一个action的属性,一般和
<result type="chain">....使用

[b]4. conversionError:[/b]这是一个负责处理类型转换错误的拦截器,负责将类型转换从actionContext读取出来,转换成Action的FieldError错误

[b]5. createSession:[/b]创建一个httpSession对象

[b]6. debugging:[/b]使用开发模式时,显示更多的调试信息

[b]7. execAndWait:[/b]后台执行Action,负责将等待画面发送给用户

[b]8. exception:[/b]负责处理异常,将异常映射为结果

[b]9. fileUpload:[/b]用于文件上传,解析表单域的内容

[b]10. i18n:[/b]支持国际化,负责将所选的语言,放入到用户的session

[b]11. logger:[/b]负责日志记录

[b]12. modelDriven:[/b]用于模型驱动,当某个action实现modelDriven接口时,负责通过getModel()将model传给Action

[b]13. params:[/b]基本的拦截器,负责解析http请求的参数,将参数值设置成Action对应的属性值

[b]14. prepare:[/b]如果Action实现preparable接口,将会调用该拦截器的prepare的方法。

[b]15. static-params:[/b]负责xml中Action的param标签解析传入到Action

[b]16. scope:[/b]这是范围转换拦截器,将Action状态信息保存在HttpSession或ServletContext范围内

[b]17. servlet-config:[/b]如果某个Action需要直接访问Servlet Api 就需要这个拦截器

[b]18. role:[/b]JAAS ,只有当浏览者取得合适的授权,才可以调用该拦截器的Action

[b]19. timer:[/b]拦截Action的执行时间,一般在分析Action的性能瓶颈的时候使用

[b]20. token:[/b]防止重复提交

[b]21. validation:[/b]通过执行在ActionName-validation.xml中定义的效验器,从而完成数据验证

[b]22. workflow:[/b]这个拦截器负责调用Action类中的validate方法,如果验证失败,返回input视图

经常使用的默认defaultStack包括以下拦截器。


<interceptor-stack name="defaultStack">
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="debugging"/>
<interceptor-ref name="profiling"/>
<interceptor-ref name="scopedModelDriven"/>
<interceptor-ref name="modelDriven"/>
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="checkbox"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*</param>
</interceptor-ref>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
</interceptor-stack>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值