`

webwork的拦截器的说明

阅读更多
            <interceptor name="alias" class="com.opensymphony.xwork.interceptor.AliasInterceptor"/>
            <!--不同的request的相似参数别名转化-->

            <interceptor name="autowiring" class="com.opensymphony.xwork.spring.interceptor.ActionAutowiringInterceptor"/>
            <!--自动装配 就是无需显式的指定bean的合作者,由framework根据setter方法去找到相应的bean,并完成设置工作。-->

            <interceptor name="chain" class="com.opensymphony.xwork.interceptor.ChainingInterceptor"/>
            <!--将前一个执行结束的Action属性设置到当前的Action中。它被用在ResultType为“chain”指定结果的Action中,该结果Action对象会从OgnlValueStack中获得前一个Action对应的属性,它实现Action链之间的数据传递;-->

            <interceptor name="component" class="com.opensymphony.xwork.interceptor.component.ComponentInterceptor"/>
            <!--激活组件功能支持,让注册过的组件在当前Action中可用,即为Action提供IoC(依赖倒转控制)框架的支持;-->

            <interceptor name="conversionError" class="com.opensymphony.webwork.interceptor.WebWorkConversionErrorInterceptor"/>
            <!--用来处理框架进行类型转化(Type Conversion)时的出错信息。它将存储在ActionContext中的类型转化(Type Conversion)错误信息转化成相应的Action字段的错误信息,保存在堆栈中。根据需要,可以将这些错误信息在视图中显示出来。-->

            <interceptor name="createSession" class="com.opensymphony.webwork.interceptor.CreateSessionInterceptor" />
            <!--自动创建一个httpsession对象,对于某些需要有httpsession对象才能正常工作的拦截器有用-->

            <interceptor name="external-ref" class="com.opensymphony.xwork.interceptor.ExternalReferencesInterceptor"/>
            <!--标记指定外部引用;name属性值要与Action类中的属性名一致 -->

            <interceptor name="execAndWait" class="com.opensymphony.webwork.interceptor.ExecuteAndWaitInterceptor"/>
            <!--后台执行action,发送给用户等待画面-->

            <interceptor name="exception" class="com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor"/>
            <!--提供了异常处理的主要核心功能,异常处理允许你把一个异常映射到一个结果码-->

            <interceptor name="fileUpload" class="com.opensymphony.webwork.interceptor.FileUploadInterceptor"/>
            <!--支持文件上传的拦截器,
            参数 [file name]是被html表单中上传得文件的名字
                 maximumsize这个市允许上传到action中的文件最大长度(以byte为单位,注意这个参数和在webwork.properties中定义的属性没有关系,默认2mb)
                 allowedtype 以逗号分割的contenttype类型列表(例如text/html),这些列表示这个拦截器允许的可以上传到action中contenttype。如果没有指定 就是允许任何上传类型
            <action name="doUpload" class="com.examples.UploadAction">
              <interceptor-ref name="fileUpload"/>
              <interceptor-ref name="basicstack"/>
            </action>
            -->

            <interceptor name="i18n" class="com.opensymphony.xwork.interceptor.I18nInterceptor"/>
            <!--把所选的地域放入session中
              负责把session中指定的区域设置为当前请求的区域设置,并且这个拦截器还会根据请求中的参数来改变区域设置。
              这就说你可以用来动态的改变用户session中区域设置。这对于实现多语言支持并允许用户在任何时候更改语言很有用。
            -->

            <interceptor name="logger" class="com.opensymphony.xwork.interceptor.LoggingInterceptor"/>
            <!--在日志信息中输出要执行的Action信息-->

            <interceptor name="model-driven" class="com.opensymphony.xwork.interceptor.ModelDrivenInterceptor"/>
            <!--如果Action实现ModelDriven接口,它将getModel()取得的模型对象存入OgnlValueStack中-->

            <interceptor name="params" class="com.opensymphony.xwork.interceptor.ParametersInterceptor"/>
            <!--将Request请求的参数设置到相应Action对象的属性中,用户注册例子用到过这个拦截器-->

            <interceptor name="prepare" class="com.opensymphony.xwork.interceptor.PrepareInterceptor"/>
            <!--在Action执行之前调用Action的prepare()方法,这个方法是用来准备Action执行之前要做的工作。它要求我们的Action必需实现com.opensymphony.xwork. Preparable接口,当你需要在action中的方法执行之前执行一些逻辑。
            <!-- Calls the params interceptor twice, allowing you to pre-load data for the second time
      parameters are set -->
      <action name="someAction" class="com.examples.SomeAction">
       <interceptor-ref name="params"/>
       <interceptor-ref name="prepare"/>
       <interceptor-ref name="basicStack"/>
       <result name="success">good_result.ftl</result>
      </action>
            -->

            <interceptor name="static-params" class="com.opensymphony.xwork.interceptor.StaticParametersInterceptor"/>
            <!--将xwork.xml配置文件里定义的Action参数,设置到对应的Action中。Action参数使用<param />标签,是<action />标签的直接子元素。我们这里定义的Action类必需实现com.opensymphony.xwork.config.entities. Parameterizable接口-->
           
            <interceptor name="scope" class="com.opensymphony.webwork.interceptor.ScopeInterceptor"/>
            <!--为了实现在webwork中实现类似向导的功能而设计的,其中的问题是,一些应用程序有些在application范围内的公用参数,例如pagelen(每个页面的记录数)。有了这个拦截器就不用让每个action都检查这样的参数是否存在,而是让这个拦截器去检查并把这些参数从session中取出
            参数:
            session 一个限制在session范围内的action属性列表
            application一个限制在application范围内的属性列表
            key 一个session/application 属性的主键前缀
               class 根据action的名称空间和类来创建一个不重复的前缀,这是默认值
               action根据action的名称空间和action的名称创建一个不重复的前缀
               任意一个字符串作为主键前缀
            type 下列支之一
               start 表示这是一个向导的开始action。所有session范围内的属性将被重设为默认值
               end 表示在这个action执行以后,session范围内的属性将会从session中清除
               any 其他值或者没有值意思这时可一个中间action。
               <!-- ##filter#orderBy###########action#######,
        #############scope###. #session#############Session##########.
        ######Application######-->
        <action name="someAction" class="com.examples.SomeAction">
        <interceptor-ref name="basicStack"/>
        <interceptor-ref name="hibernate"/>
        <interceptor-ref name="scope">
        <param name="session">filter,orderBy</param>
        <param name="autoCreateSession">true</param>
        </interceptor-ref>
            -->

            <interceptor name="servlet-config" class="com.opensymphony.webwork.interceptor.ServletConfigInterceptor"/>
            <!--
             提供Action直接对HttpServletRequest或HttpServletResponse等JavaServlet api的访问,Action要实现相应的接口,例如:ServletRequestAware或ServletResponseAware等。如果必需要提供对JavaServlet api的访问,我们建议使用ServletActionContext,在前面ActionContext章节中有介绍。
            -->

            <interceptor name="sessionAutowiring" class="com.opensymphony.webwork.spring.interceptor.SessionContextAutowiringInterceptor"/>
           
            <interceptor name="timer" class="com.opensymphony.xwork.interceptor.TimerInterceptor"/>
            <!--记录Action执行的时间,并做为日志信息输出-->

            <interceptor name="token" class="com.opensymphony.webwork.interceptor.TokenInterceptor"/>
            <!--核对当前Action请求(request)的有效标识,防止重复提交Action请求(request)。-->

            <interceptor name="token-session" class="com.opensymphony.webwork.interceptor.TokenSessionStoreInterceptor"/>
            <!--功能同上,但是当提交无效的Action请求标识时,它会将请求数据保存到session中。-->

            <interceptor name="validation" class="com.opensymphony.xwork.validator.ValidationInterceptor"/>
           <!--实现使用xml配置文件({Action}-validation.xml)对Action属性值进行验证,详细请看后面介绍的验证框架。-->

            <interceptor name="workflow" class="com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor"/>
      <!--调用Action类的验证功能,假设Action使用ValidationAware实现验证(ActionSupport提供此功能),如果验证没有通过,workflow会将请求返回到input视图(Action的<result />中定义的)。-->
分享到:
评论

相关推荐

    webwork 权限拦截器

    WebWork权限拦截器是WebWork框架中的一个重要组件,主要用于实现基于拦截器(interceptor)的权限控制。在Web开发中,权限拦截器扮演着至关重要的角色,它可以在用户请求到达控制器之前进行预处理,判断用户是否有权...

    webwork拦截器,验证,以及帮助文档

    本篇将详细介绍WebWork中的核心概念——拦截器(Interceptor)以及验证(Validation)机制,并结合提供的帮助文档进行学习指导。 首先,我们来理解WebWork的拦截器机制。在WebWork中,拦截器是处理请求的关键组件,...

    WebWork2.0讲解说明

    3. Interceptors(拦截器):拦截器是WebWork2.0的一个强大功能,允许在Action调用前后插入自定义逻辑,如权限验证、日志记录等。 二、WebWork2.0主要特性 1. 智能表单绑定:WebWork2.0支持自动将HTTP请求参数绑定...

    WebWork docs 2 -- webWork 详细的说明文档

    1. **WebWork基础**:WebWork的核心概念,如Action、Interceptors(拦截器)、Results和Parameters等,以及它们如何协同工作来实现业务逻辑和视图呈现的分离。理解这些基础概念是掌握WebWork的关键。 2. **MVC模式*...

    J2EE(Struts_拦截器)

    可以使用`&lt;interceptors&gt;`标签定义拦截器栈,然后使用`&lt;interceptor&gt;`标签声明具体的拦截器,最后在`&lt;action&gt;`标签中通过`&lt;interceptor-ref&gt;`指定拦截器的使用。 例如: ```xml ...

    java拦截器

    例如,在Webwork框架中,拦截器被称为动态拦截Action调用的对象。它不仅允许开发者定义在Action执行前后执行的代码,还可以在Action执行前阻止其执行。此外,拦截器还提供了一种提取Action中可重用部分的有效途径。 ...

    webwork

    WebWork2作为一款成熟的MVC框架,凭借其灵活的架构、丰富的特性,如Action驱动模式、XWork拦截器体系、输入校验、国际化支持,以及与Spring框架的良好集成,成为了企业级Web应用开发的理想选择。无论是对于初学者...

    webwork+spring整合例子 内带使用说明 以及webwork文档(中文)

    WebWork还提供了一种名为"Interceptors"的概念,允许开发者创建拦截器来处理通用的业务逻辑,如登录检查或事务管理。 Spring框架则是一个全面的后端解决方案,它包括依赖注入(DI)容器,面向切面编程(AOP),数据...

    spring与webwork框架集成

    5. **拦截器(Interceptor)**:WebWork 使用拦截器来处理请求前后的逻辑,这里添加的 `reference-resolver` 拦截器确保了 Action 中的外部引用能在运行时被正确解析。 6. **web.xml 配置**:配置监听器是集成的...

    webwork.pdf

    WebWork 2.0的配置相对简洁,主要通过XML配置文件来描述Action、拦截器和其他组件。对于开发者来说,熟悉这些配置规则是必不可少的。快速入门通常包括搭建开发环境、创建基本的Web应用、定义Action和配置拦截器等...

    webwork源码底层实现

    4. **Interceptors(拦截器)**:WebWork引入了拦截器的概念,它们在Action执行前后执行,可以实现通用的功能,如权限检查、日志记录等。在源码中,你会看到这些拦截器的实现。 5. **Value Stack(值栈)**:...

    WebWork2配置

    4. **拦截器**:WebWork2通过拦截器链来增强Action的执行过程,例如,权限检查、日志记录、事务管理等。在webwork.xml中,你可以创建自定义的拦截器并将其添加到默认的拦截器栈中。 5. **结果类型配置**:WebWork2...

    webwork_框架文档

    WebWork提供了许多先进的特性,如动作拦截器、类型转换、强大的异常处理机制以及对AJAX的支持,这些都使得开发更高效、更易于维护。 在WebWork框架中,`Action`是核心组件,它负责处理用户请求并执行业务逻辑。每个...

    webwork中文文档

    1. **配置WebWork**:首先,需要在项目的web.xml中配置WebWork的监听器,并在WebWork的配置文件中定义Action和拦截器。 2. **编写Action类**:创建Action类并实现相应的业务逻辑。 3. **配置拦截器**:根据需要选择...

    Webwork2_guide

    通过“Webwork2_guide.pdf”,读者将能够深入学习如何利用Webwork2的各种特性,包括Action的设计、拦截器的编写、配置文件的配置、异常处理和测试方法等,从而成为一名熟练的Webwork2开发者。这个指南对于初学者和...

    webwork-register.rar_webwork_webwork 验证_webwork spring

    4. **WebWork拦截器**:WebWork的拦截器机制允许在动作执行前后插入自定义逻辑,例如登录检查、性能监控或者数据验证,这在注册过程中尤为重要,可以确保数据的有效性和安全性。 5. **Spring事务管理**:对于涉及...

    webwork2个人学习总结

    - `&lt;interceptors&gt;`节点配置了拦截器,Webwork2的拦截器机制允许在Action执行前后插入自定义逻辑。例如,`params`拦截器负责将请求参数封装到Action的属性中,而`model-driven`拦截器支持Model驱动的Action模式。 ...

    webWork

    它使用Action类作为模型,处理用户的请求,并通过Interceptor拦截器进行业务逻辑控制,视图通常是JSP或FreeMarker模板。 二、核心概念 1. Action:WebWork中的核心组件,负责处理用户请求并执行相应的业务逻辑。...

Global site tag (gtag.js) - Google Analytics