Struts2内置拦截器的简要介绍

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

  (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内置拦截器的简要介绍,布布扣,bubuko.com

时间: 2024-10-26 01:19:37

Struts2内置拦截器的简要介绍的相关文章

struts2内置拦截器和自定义拦截器详解(附源码)

一.Struts2内置拦截器 Struts2中内置类许多的拦截器,它们提供了许多Struts2的核心功能和可选的高级特 性.这些内置的拦截器在struts-default.xml中配置.只有配置了拦截器,拦截器才可以正常的工作和运行.Struts 2已经为您提供丰富多样的,功能齐全的拦截器实现.大家可以至struts2的jar包内的struts-default.xml查看关于默认的拦截器与 拦截器链的配置.内置拦截器虽然在struts2中都定义了,但是并不是都起作用的.因为并不是所有拦截器都被加

Struts2内置校验器的实例

一.校验器的配置风格 1.字段校验器: <field name="被校验的字段"> <field-validator type="校验器名"> <!--此处需要为不同校验器指定数量不等的校验规则--> <param name="参数名">参数值</param> .................... <!--校验失败后的提示信息,其中key指定国际化信息的key--> &l

Struts2默认拦截器栈及内建拦截器使用详解

Struts2内建拦截器介绍: alias (别名拦截器):允许参数在跨越多个请求时使用不同别名,该拦截器可将多个Action采用不同名字链接起来,然后用于处理同一信息. autowiring (自动装配拦截器):主要用于当Struts2和Spring整合时,Struts2可以使用自动装配的方式来访问Spring容器中的Bean. chain (链拦截器):构建一个Action链,使当前Action可以访问前一个Action的属性,一般和<result type="chain"

Sturts2几个常用内建拦截器的介绍

Sturts2几个常用内建拦截器的介绍:1)conversation:这是一个处理类型转换错误的拦截器,它负责将类型转换错误从ActionContext中取出,并转换成Action的FieldError错误.2)Exception:这个拦截器负责处理异常,它将异常映射成结果.3)fileUpload:这个拦截器主要用于文件上传,它负责解析表单中文件域的内容.4)i18n:这是支持国际化的拦截器,它负责把所选的语言.区域放入用户Session中.5)params:这是最基本的一个拦截器,它负责解析

2018.11.20 Struts2中对结果处理方式分析&amp;struts2内置的方式底层源码剖析

介绍一下struts2内置帮我们封装好的处理结果方式也就是底层源码分析 这是我们的jar包里面找的位置目录 打开往下拉看到result-type节点 name那一列就是我们的type类型取值 上一篇博客在分析的时候发现就算不写也会自动转发原因在这里,default=true 选择了默认方式 接着我们如果想看看底层是如何工作的就选择class属性复制双引号的内容 接着按住ctrl+shift+T就能出现一个框 OPen Type 进去之后发现是这个,点击Attach Source---->选择第二

struts2入门之拦截器

1.拦截器的执行时间:在action对象创建之后,在具体的方法执行之前: 2.拦截器底层实现原理:用到AOP思想和责任链模式:AOP:面向切面编程,通俗的讲就是当某个功能模块要增加某一项功能时,尽可能不去修改源代码而是通过其他的方式来达到相同的效果,比如通过配置文件等方式:责任链模式和过滤链模式有点相似,过滤链模式是指比如,一个请求由多个过滤器进行过滤,每个过滤器进行放行之后才能到下一个过滤器,最后实现目的:但是责任链模式,比如要执行多个操作,有添加,修改,删除三个操作,首先执行添加操作,添加操

微信内置浏览器私有接口WeixinJSBridge介绍

原文地址:http://www.3lian.com/edu/2015/05-25/216227.html 这篇文章主要介绍了微信内置浏览器私有接口WeixinJSBridge介绍,本文讲解了发送给好友.分享函数.隐藏工具栏.隐藏三个点按钮等功能,需要的朋友可以参考下 微信网页进入,右上角有三个小点,没错,我们用到的就是它!我们只要通过将小点列表下的按钮进行自定义,就可以随心所欲的分享我们自己的内容了. 注意:(WeixinJSBridge只能在微信内打开的网页有效) 按钮一之------发送给好

【struts2】struts2的execAndWait拦截器使用

使用execAndWait拦截器可以在等待较长时间的后台处理中增加等待页面.实现如下图所示的效果: 1)struts.xml主要部分 <action name="test" class="actions.ActionDemo" method="queryall"> <interceptor-ref name="defaultStack"/> <interceptor-ref name="

Struts2(十四)拦截器实现权限管理

一.认识拦截器 拦截器也是一个类 拦截器可以在Action被调用之前和之后执行代码 框架很多核心功能是拦截器实现的 拦截器的特点: 拦截器自由组合,增强了灵活性.扩展性.有利于系统解耦 拦截器可以拦截Action请求 在访问的Action执行之前和执行之后执行代码实现某项功能 Struts2: 大部分功能是在拦截器中实现的如:接收输入的参数,数据验证,文件上传,国际化等 应用程序: 需要在Action执行的前后执行特定功能 Action执行时间统计,Action访问权限管理 Action添加功能