http://www.th7.cn/Program/java/201405/195296.shtml

标记有(*)要着重了解:

(1)alias(别名拦截器):允许参数在跨越多个请求时使用不同别名,该拦截器可将多个Action采用不同名字链接起来,然后用于处理同一信息。

(2)autowiring(自动装配拦截器):主要用于当Struts2和Spring整合时,Struts2可以使用自动装配的方式来访问Spring容器中的Bean。

(3)(*)chain(链拦截器):构建一个Action链,使当前Action可以访问前一个Action的请求信息,一般和<result type="chain" .../>一起使用。

(4)(*)checkbox(多选框拦截器):将没有选中的checkbox项设置为false,协助管理多选框。在HTTP请求里,那些没有被选中的项通常没有任何值。

(5)conversionError(转换器错误拦截器):这是一个负责处理类型转换错误的拦截器,它负责将类型转换错误从ActionContext中取出,并转换成Action的 FieldError错误。

(6)(*)createSession(创建Session拦截器):该拦截器负责创建一个HttpSession对象,主要用于那些需要有HttpSession对象才能正常工作的拦截器中。

(7)(*)clearSession(清除Session拦截器):负责销毁HttpSession对象.

(8)(*)debugging(调试拦截器):当使用Struts2的开发模式时,这个拦截器会提供更多的调试信息。

(9)execAndWait(执行和等待拦截器):后台执行Action时,给用户显示一个过渡性的等待页面。

(10)externalRef(扩展拦截器):负责扩展引用

(11)(*)exception(异常拦截器):将Action抛出的异常映射到结果,这样就通过重定向自动处理异常。

(12)(*)fileUpload(文件上传拦截器):这个拦截器主要用于文件上传,它负责解析表单中文件域的内容。

(13)(*)i18n(国际化拦截器):主要负责把用户所选的语言、区域放入用户Session中。

(14)logger(日志拦截器):主要是输出Action的名字,提供简单的日志输出。

(15)modelDriven(模型驱动拦截器):这是一个用于模型驱动的拦截器,当某个Action类实现了ModelDriven接口时,它负责把getModel()方法的结果堆入ValueStack中。

(16)scopedModelDriven(作用域模型驱动拦截器):如果一个Action实现了一个ScopedModelDriven接口,该拦截器负责从指定生存范围中找出指定的Model,并将通过setModel方法将该Model传给Action实例。

(17)(*)params(参数过滤拦截器):这是一个最基本的拦截器,它负责解析HTTP请求中的参数,并将参数值设置成Action对应的属性值。

(18)prepare(预备拦截器):如果action实现了Preparable接口,将会调用该拦截器的prepare()方法。

(19)(*)staticParams(静态参数拦截器):这个拦截器负责将xml中<action>标签下<param>标签中的参数传入action。

(20)scope(作用域拦截器):这是范围转换拦截器,它可以将Action状态信息保存到HttpSession范围,或者保存到ServletContext范围内。

(21)servletConfig(Servlet配置拦截器):如果某个Action需要直接访问Servlet API,就是通过这个拦截器实现的,它提供访问HttpServletRequest和HttpServletResponse的方法,以map方式访问。

(22)roles(角色拦截器):这是一个JAAS(Java Authentication and Authorization Service,Java授权和认证服务)拦截器,只有当浏览者取得合适的授权 后,才可以调用被该拦截器拦截的Action。

(23)(*)timer(计时拦截器):这个拦截器负责输出Action的执行时间,在分析该Action的性能瓶颈时比较有用。

(24)(*)token(令牌拦截器):这个拦截器主要用于阻止重复提交,它检查传到Action中的token,从而防止多次提交。

(25)(*)tokenSession(令牌会话拦截器):这个拦截器的作用与前一个基本类似,只是它把非法提交的数据保存在HttpSession中,不跳转到错误页面,再次生成与第一次相同的响应页面。

(26)(*)validation(验证拦截器):通过执行在xxxAction-validation.xml中定义的校验器,从而完成数据校验。

(27)(*)workflow(工作流拦截器):这个拦截器负责调用Action类中的validate方法,如果校验失败,则不执行业务方法,而是返回input的逻辑视图。

(28)jsonValidation(json拦截器):验证失败时,可以将fieldError和actionErrors信息序列化成json,返回给客户端

(29)profiling(概要拦截器):允许Action记录简单的概要信息。

(30)actionMappingParams(Action映射拦截器):Parameters set by the action mapping are not set/not available through ParameterAware

(30)annotationWorkflow(注解工作流拦截器):利用注解替代XML配置,使用annotationWorkflow拦截器可以使用@After、@Before、@BeforeResult等注解,执行流程为before-execute-beforeResult-after顺序

(31)store(消息存储拦截器):在会话中为Action存储和检索消息、字段错误以及Action错误,该拦截器要求Action实现ValidationAware接口。

Struts2内置拦截器的简要介绍相关推荐

  1. Struts2内置拦截器和自定义拦截器

    内置拦截器 Struts2中内置类许多的拦截器,它们提供了许多Struts2的核心功能和可选的高级特性.这些内置的拦截器在struts-default.xml中配置.只有配置了拦截器,拦截器才可以正常 ...

  2. Elasticsearch Analyzer 内置分词器

    Elasticsearch Analyzer 内置分词器 篇主要介绍一下 Elasticsearch中 Analyzer 分词器的构成 和一些Es中内置的分词器 以及如何使用它们 前置知识 es 提供 ...

  3. Struts2框架之拦截器

    1:拦截器类似web过滤器,在action执行之前或者执行之后去取一些操作 2:拦截器栈就是递归调用 strust2的工作流程: 客户端通过HttpServletRequest向Tomcat容器发送请 ...

  4. Wireshark Protobuf 和 gRPC 内置解析器使用介绍

    Wireshark Protobuf 和 gRPC 内置解析器使用介绍 目录 Wireshark Protobuf 和 gRPC 内置解析器使用介绍 1. 主要功能 2. 示例中使用的.proto文件 ...

  5. struts2如何使用拦截器进行用户权限控制

    大多数网站会设置用户权限,如过滤非法用户,用户不登录时不能进行访问,或者设置访问的权限,如部分内容仅对VIP开放等等,这些权限的控制都可以用struts2中的拦截器来实现. 下面通过一个简单的Demo ...

  6. 我的世界服务器修改器1.7.10,我的世界修改器_我的世界TMI内置修改器1.7.10 - 99单机游戏...

    我的世界TMI内置修改器适用于1.7.10版本的我的世界,可以修改我的世界内部的参数,非常的有意思,想要的朋友欢迎前来下载. 安装方法: 1.有FORGE版 关闭Minecraft. 使用winrar ...

  7. python的内置装饰器

    Python中总共包括三个内置装饰器: 1.staticmethod   (静态方法使用) 2. classmethod     (类方法) 3.property             (把类的方法 ...

  8. 架构师成长记_第八周_10_ES-分词与五种内置分词器

    文章目录 ES-分词 PS: 1. 全局分析方式(_analyze) 2. 指定字段分析方式(索引名/_analyze) ES-五种内置分词器介绍 1 标准分词器 standard 2 非字母分词器 ...

  9. Python笔记-内置装饰器

    内置装饰器是指python中自己带的,不要程序员写的 如下代码: class Student(object):def __init__(self, name, score):self.name = n ...

最新文章

  1. 一文了解物联网主控芯片架构之争
  2. C# 调用C++写的dll的实现方法
  3. python调用什么函数实现对文件内容的读取_Python 文件读取函数 read(), readline(), readlines()...
  4. ExtJs-GridPanel简单的增删改
  5. eos操作系统_EOS相机统一的用户界面
  6. ENVI计算公式(一)
  7. Python笔记-weditor的安装及基本使用
  8. 用xib自定义UIView并在代码中使用--iOS
  9. 【BZOJ4503】两个串(FFT)
  10. Pyqt 的QThread vs Python标准库的线程
  11. 成功凤凰刷机刷出诺基亚E5系统版本042.014纯净简体中文版
  12. php返回代码翻译,php 在线翻译函数代码
  13. python人脸识别方法_python实现人脸识别代码
  14. AS4950全桥(H桥)直流有刷电机驱动 2相4线步进电机驱动 替代L298N【附开源设计资料】
  15. nexus3.x批量上传jar包
  16. Ubuntu 安装 ROS 教程
  17. [libtorrent] tracker 逻辑及源码解析(调试)
  18. ITIL、COBIT、CMMi、ISO、17799框架大揭秘
  19. watch港版微信无法连接到服务器,Apple Watch微信打不开怎么办
  20. jzoj1794 保镖排队 (树形dp)

热门文章

  1. iOS之深入解析如何检测“循环引用”
  2. HarmonyOS之常用布局StackLayout的使用
  3. 2018年第九届蓝桥杯 - 省赛 - C/C++大学A组 - F.航班时间
  4. LANGUAGE MODELS ARE OPEN KNOWLEDGE GRAPHS —— 读后总结
  5. 大数据WEB阶段 Maven与SSM框架整合
  6. 大数据WEB阶段Spring框架(二)简化配置的操作
  7. 【机器视觉】Qt联合Halcon编程之显示多图片
  8. 【Linux】一步一步学Linux——lsattr命令(116)
  9. 【Tools】Linux远程连接工具(PuTTY)
  10. arm 架构_ARM发布A78增强版大核架构:性能怪兽