`
Myplace
  • 浏览: 3684 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Struts2 2.2.1 零配置总结

阅读更多
    Struts2 2.2.1这个版本相对于长使用的Struts2 2.0.14版本变化很多。
    一、Web.xml中使用的拦截器变化了,Struts2 2.2.1已经不推荐使用
org.apache.struts2.dispatcher.FilterDispatcher
,现在推荐使用
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
,这点改进官方说法是更好的支持Struts2与其他拦截器的共同使用
    二、Struts2的零配置 Struts2 2.2.1与Struts2 2.0.14零配置方便发生了很大的变动,Struts2 2.0.14零配置Annotation由struts2-codebehind-plugin-2.0.14.jar支持 而最新版本中已经推荐使用struts2-convention-plugin-2.2.1.jar。主要有一下几点变动
    1) @Result 中的type属性由类类型变成字符串类型。
   
chain com.opensymphony.xwork2.ActionChainResult
    dispatcher org.apache.struts2.dispatcher.ServletDispatcherResult
    freemarker org.apache.struts2.views.freemarker.FreemarkerResult
    httpheader org.apache.struts2.dispatcher.HttpHeaderResult
    redirect org.apache.struts2.dispatcher.ServletRedirectResult
    redirectAction org.apache.struts2.dispatcher.ServletActionRedirectResult
    stream org.apache.struts2.dispatcher.StreamResult
    velocity org.apache.struts2.dispatcher.VelocityResult
    xslt org.apache.struts2.views.xslt.XSLTResult
    plainText org.apache.struts2.dispatcher.PlainTextResult

    这是名称和类的映射关系
    2) @Result value属性由location取代
    3) 经典配置比较:
    Structs2 2.0.14:
   
@Namespace("/")
    @ParentPackage("default")
    @Results({
		@Result(name = Action.SUCCESS, type = ActionChainResult.class, 
		         value = "result", params = { "actionName", "chain", "namespace", "/" }
        ),
        @Result(name = "exception", value="error.jsp")
     })

    Structs2 2.2.1:
   
@Namespace("/")
    @ParentPackage("default")
    @Results({
		@Result(name = Action.SUCCESS, type = “chain”, 
		        params = { "actionName", "chain", "namespace", "/" }
        ),
        @Result(name = "exception", location="error.jsp")
     })

    4) 使用零配置后命名规则变更,Struts2 2.0.14命名规则是首字符小写,例如HelloWorldAction的Action是helloWorld.action。Struts2 2.2.1默认是所有小写两个单词间使用-,对于HelloWorldAction的Action是hello-world.action。
       Struts2 2.2.1可以通过在Struts.xml中加入配置恢复以前的命名规则:
      
<bean type="org.apache.struts2.convention.ActionNameBuilder" name="defaultConvention" class="org.apache.struts2.convention.DefaultActionNameBuilder"/>
       <constant name="struts.convention.actionNameBuilder" value="defaultConvention"/>

    5) Struts2 2.2.1的ChainIntercepter有Bug,导致使用chain Result时,两个Action中的内容不能复制,方法是自定一个ChainIntercepter,自定义的ChainIntercepter使用Struts2 2.0.14即可
  
分享到:
评论

相关推荐

    struts-2.2.1-all.7z

    这个是struts-2.2.1完整版,里面包含Struts2的示例应用、空示例应用、核心库、源代码和文档等,这些不管对JavaEE初学者还是想要深入研究的开发人员来说,都有很大的帮助。由于CSDN上传大小限制最多70M,我将原有...

    struts2-2.2.1-all 版本

    2. **配置灵活性**:Struts2提供了XML和注解两种方式来配置Action、结果类型和拦截器,使得配置文件更加简洁且易于理解。 3. **Interceptor(拦截器)**:拦截器是Struts2的一个强大功能,它们按照预定义的顺序在...

    struts_2.2.1_src.zip

    2. **配置文件**:Struts 2的配置文件通常包括struts.xml,用于定义Action类、Action的映射、结果类型、拦截器等。通过XML或注解方式,开发者可以灵活地配置应用程序的行为。 3. **Interceptor(拦截器)**:拦截器...

    Struts-2.2.1文档

    - XML配置:Struts 2 使用基于XML的配置文件(struts.xml)来定义Action、结果、拦截器等。这种配置方式清晰,但有时会显得冗长。 - 注解配置:2.2.1版本中,开发者也可以使用Java注解在Action类上进行配置,减少...

    struts2-2.2.1包

    综上所述,"struts2-2.2.1包"是一个完整的Struts2框架组件集合,包含了运行和开发基于Struts2的应用所需的所有资源,无论是初学者还是经验丰富的开发者,都能从中受益,快速搭建并配置好Struts2应用。

    Struts_2.2.1_lib

    在深入讲解Struts 2.2.1的核心类库之前,我们首先需要理解什么是Struts 2以及它在软件开发中的作用。 Struts 2 是Apache软件基金会开发的一个开源框架,用于构建基于Java Servlet的Web应用程序。它是在原有的Struts...

    Struts2-2.2.1

    2. **配置Struts2**:在web.xml中配置Struts2的前端控制器Filter,并创建struts.xml配置文件。 3. **编写Action**:创建Action类,定义业务逻辑,可以使用注解或XML配置进行Action的映射。 4. **设计视图**:根据...

    struts-2.2.1

    在本压缩包"struts-2.2.1"中,包含的是Struts 2框架的2.2.1版本的所有核心组件和依赖的JAR文件。 Struts 2框架是Apache软件基金会的开源项目,它是Struts 1的升级版,提供了更多的功能和改进。它将Struts 1的许多...

    struts-2.2.1for JBoss6(xwork-core-2.2.1.jar)

    struts-2.2.1部署到JBoss时出现vfs警告:[Could not create JarEntryRevision for[vfs:/D:/Develop/jboss-as-7.0.0.Final/standalone/deployments/test.war/WEB-INF/lib/struts2-core-2.2.1]!],需要替换xwork-core-...

    struts2.2.1开发文档

    2. **安装与配置**:详细说明如何在项目中集成Struts2.2.1,包括添加依赖库、配置web.xml文件,以及理解Struts2的核心配置文件struts.xml。 3. **动作(Action)**:解释了Action类在Struts2中的核心地位,它是处理...

    struts2-2.2.1

    在Struts2-2.2.1版本中,这个框架提供了许多改进和特性,旨在帮助开发者构建更加灵活、可扩展且易于维护的Web应用。 1. **Struts2核心组件**: - **Action类**:是业务逻辑的载体,处理用户的请求,并通过Result...

    struts-2.2.1.part1源码+jar+实例

    struts-2.2.1.part1源码+jar+实例

    已配置好Struts2.2.1GA的WEB-INF

    总结来说,Struts2.2.1GA的WEB-INF目录是Java web应用基于Struts2框架的基础结构,包含了所有必要的配置文件和库。它允许开发者快速启动新的Struts2项目,减少了重复配置的工作量,提高了开发效率。对于熟悉Struts2...

    Struts2.2.1+Spring3.1.0.M2+Hibernate3.5.1整合配置demo

    Struts2.2.1+Spring3.1.0.M2+Hibernate3.5.1是经典的Java企业级开发框架组合,通常被称为SSH框架。这个整合配置Demo旨在演示如何将这三个强大的框架集成在一起,实现MVC(模型-视图-控制器)架构,提供数据持久化和...

    struts2-spring-plugin-2.2.1.jar

    Struts2-Spring-Plugin-2.2.1.jar 是一个专门为 Struts2 框架与 Spring 框架集成而设计的插件。这个插件的主要目的是简化在基于Struts2的应用程序中整合Spring的功能,如依赖注入(DI)、AOP(面向切面编程)以及...

    struts-2.2.1 spring-3.0.4 hibernate-3.6.0 JPA整合

    Struts 2.2.1 版本提供了增强的拦截器(Interceptor)、更灵活的动作配置以及更好的异常处理机制,使得开发者能够更高效地构建Web应用程序。 Spring 3.0.4 是一个全面的后端开发框架,涵盖了依赖注入、面向切面编程...

    struts2.2.1开发包

    当用户请求发送到服务器时,Struts2会根据配置文件找到对应的Action执行。执行完成后,Action会返回一个Result,定义了视图如何展示。 2. **Interceptor(拦截器)**:拦截器是Struts2的一个强大特性,允许在Action...

    struts2-2.2.1-src.zip

    2.2.1是Struts2的一个版本,它在前一版本的基础上进行了一系列的改进和优化,使得开发者在开发过程中更加高效和便捷。 源码包"struts2-2.2.1-src.zip"包含了Struts2框架的核心组件、插件、示例应用以及相关的文档。...

    Struts2.2.1关键jar包

    4. **Struts2的配置文件**:struts-default.xml和struts-plugin.xml是Struts2的基础配置文件,定义了全局设置和插件配置。而struts.xml则是用户自定义的配置文件,用于定义Action、Interceptor和Result等。 5. **...

    struts2.2.1-core

    在深入研究Struts2.2.1源码之前,我们需要了解Struts2的基础知识。Struts2的核心组件包括: 1. **Action**:Action是业务逻辑的载体,它接收用户的请求,执行相应的操作,并返回一个结果。Action类通常继承自`...

Global site tag (gtag.js) - Google Analytics