同上,谢谢。

解决方案 »

  1.   

    总体来说没啥区别,也就是在code behind那块改了下,默认拦截器改了下,修复了一些bug
    一般使用来说没什么区别,都是向下兼容的。
      

  2.   

    最大区别:struts2.1中的ajax独立出来了struts2.1的注解是基于conversion plugin的,而以前的是code beghind。简单而且功能强大了很多,具体的可以去看2.1的docstruts2.1推荐用StrutsPrepareAndExecuteFilter来配置,而2.0是用FilterDispatcher,当然在2.1中用FilterDispatcher也可以struts2增加了rest等一些插件,而且这些插件都是基于plugin方式的,很好管理还有一些bug的修改,这个要看他的release note
      

  3.   

    摘抄:
    Struts2是基于WebWork的一个全新框架.
    Action类
    Struts 1要求Action类要扩展自一个抽象基类。Struts 1的一个共有的问题是面向抽象类编程而不是面向接口编程。
    Struts 2的Action类实现了一个Action接口,连同其他接口一起实现可选择和自定义的服务。Struts 2提供一个名叫ActionSupport的基类实现一般使用的接口。虽然,Action接口不是必须的。任何使用execute方法的POJO对象可以被当作Struts 2的Action对象使用。程模型
    Struts 1 Action类是单例类,因只有一个示例控制所有的请求。单例类策略造成了一定的限制且给开发带来了额外的烦恼。Action资源必须是程安全或者同步的。
    Struts 2 Action对象每一个请求都实例化对象,所以没有程安全的问题。(实践中,servlet容器生许多丢的对象对于每一个请求,多于一个的对象并不影响垃圾收集)Servlet 依赖 
    Struts 1的Action类依赖于servlet API以HttpServletRequest和HttpServletResponse作参数传给execute方法当Action被调用时。
    Struts 2的Action不和容器有关。Servlet上下文被表现简单的Maps,允许Action被独立的测试。Struts 2的Action可以访问最初的请求和相应,如果需要的话。然而,其他的架构元素少或者排除直接访问HttpServletRequest或者HttpServletResponse的需要。易测性 
    测试Struts 1的主要障碍是execute方法暴露了Servlet API。第三方的扩展,Struts测试用例,提供Struts 1的集合对象。
    Struts 2的Action可以通过实例化Action测试,设置属性,然后调用方法。依赖注入的支持也是测试变得更简单。接受输入
    Struts 1使用ActionForm对象捕获输入。象Action一样,所有的ActionForm必须扩展基类。因其他的JavaBean不能作ActionForm使用,开发者经常创建多余的类捕获输入。DynaBeans可以被用来作替代ActionForm的类创建。但是开发者可以重新描述已经存在的JavaBean。
    Struts 2 Action属性作输入属性,排除第二个输入对象的需要。输入属性可能有丰富的对象类型这些类型有他们自己的属性。Action的属性可以通过标签库访问。Struts 2也支持ActionForm形式。丰富的对象类型,包含业务或者域对象,可以被当作输入或者输出对象使用。馍型驱动特性简化标签对POJO输入对象的引用。表达式语言 
    Struts 1整和JSTL,所以它使用JSTL的表达式语言。表达式语言有基本的图形对象移动,但是相对很弱的集合和被索引的属性支持。
    Struts 2使用JSTL,但是框架也支持更大和更灵活的表达式,叫做“对象图形符号语言”(OGNL)。将值绑定要视图上 
    Struts 1使用标准JSP机制来绑定对象到页面上下文。
    Struts 2使用“ValueStack”技术了标签库可以不用链接你的视图到对象的表现类型访问值。ValueStack策略允许重用视图。类型转换 
    Struts 1的ActionForm属性经常都是String的。Struts 1使用Commons-Beanutils类型转换。转换每一个类,不是每一个实例配置。
    Struts 2使用OGNL类型转换。框架包含转换器基本的和共同的对象类型和原始类型。验证 
    Struts 1支持手动验证凭借ActionForm的validate方法,或者通过扩展的公用验证器。类可以有不同的验证上下文未相同的类,但是不能不能包括验证子对象。
    Struts 2支持手动验证凭借validate方法和XWork验证框架。Xwork验证框架支持一连串的验证子属性使用的验证了属性类的类型和严正上下文而定义。Action执行的控制 
    Struts 1支持独立的请求处理器对于每一个模型,但是所有在模型中的Action必须共享同一个生命周期。
    Struts 2支持在每一个Action基础上凭借拦截栈创建不同的生命周期。自定义栈可以被创建且使用不同的所需 的Action。
      

  4.   

    区别比较大可以看看http://zhidao.baidu.com/question/120660773.html?fr=ala0
      

  5.   

    2.1版修改了很多错误(有关Struts和Xwork的),添加了新的插件,例如REST、Convention和Java Templates,这些都体现了我们的发展方向。
    很多功能移到了插件里, 基本思想就是在struts内核中只保留“核心”功能,把其他一切都移到插件里。这种做法便于维护代码库和放弃不再支持的功能,如Dojo插件。这些变化没有带给用户什么好处,如果用户不使用提到的插件,Struts的规模就比较小。
      

  6.   

    完全就是两种不同的技术,lz不要把2看成是1的升级版本,没啥联系分开学。struts2比1后诞生,也就是05年出来的struts2,现在的版本比较稳定了,struts2核心技术用的是xwork和filter,比struts1(核心是servlet)灵活,好用。
      

  7.   

    晕倒,我早就知道struts2和1是不同的,struts1只是apache软件组织自己搞的一个开源产品,struts2是apache和webwork合并之后搞的一个开源产品,我现在问的是2.0和2.1.x的区别啊。
      

  8.   

    看来很多人是惯性思维,把2.1和2.0看成了1和2了。大家小心看自己的需求吧,
    别让盖烟囱变成了挖坑。呵呵bdgood luck
      

  9.   

    网上有许多的,可以上网查查
    Myeclipse 支持struts1还不支持struts2
      

  10.   

    struts2.1.x和struts2.0最主要区别是 
            struts2.1减少了对ajax的重视,
            增加了rest插件。
    还有些细致性的差别:
        如要使用struts2.1必须引入commons-fileupload-1.2.1.jar类库,但是struts2.0无须。