`
wiely
  • 浏览: 22071 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

struts还是struts2?

阅读更多

struts已经是mvc开发的标准,但随着webwork和struts的合并(Struts2),试问将来struts还用不用于开发项目,struts2是否会取代struts? 

 

 下面简单介绍写两者的区别和发展。

 

 

      struts是2001年发布的。这个发布时间比webwork早一年,IT世界就是这个原理,时间决定一切。早一分钟还晚一分钟可能会导致两重天。由于企业迫切需要个mvc开发标准,因此struts自然荣登宝座。但是虽然框架的发展,struts显出拉很多弊病。比如说它的action与serlvet严重耦合导致测试困难和扩展性受到挑战,还有貌似鸡肋的ActionForm一直是开发者疑惑的问题。但是webwork确实很好的解决拉这些问题,因为发布时间慢拉一年,导致现在发展的尴尬局面,但是不少开发者仍用webwork,由于企业界的需求,struts2诞生拉。

 

   struts2完全摒弃拉鸡肋actionform,解决拉与servlet耦合性。它的action是一个普通的pojo,因此很容易测试。使用junit就能简单测试。这可带来的革命性的改善,我个人感觉。还有一点,笔者认为struts2的标签要比sturts的标签好使的多,标签少但是功能却不比struts的少,相信使用过sturt的开发者,一定会对struts的标签使用有很深的感触吧。另外struts2还有很多其他特性,比如interceptor,ioc更容易和其他框架整合而不用安装插件。还有struts2支持各种表达式和模板引擎。这也是比struts优秀的部分。 Struts2WebWork的升级,而不是Struts的升级。虽然Struts 2提供了与Struts的兼容,但也不是Struts的升级。对于熟练学习Struts开发的开发者而言,Struts的开发经验对于Struts2并没有多大的帮助;但是对于已经有WebWork开发经验的开发者而言,会使webwork那么一定会使struts2拉。

 

 

 

    但是笔者一直不明白的是为什么现在企业仍使用struts的多。strut是到底能走多长时间,未来的mvc是struts还是struts2?请各位大虾和fans踊跃发表看法啊

分享到:
评论
44 楼 sevenkylin 2009-07-20  
aws 写道
用SSH里面,Spring和hibernate是比较重要的,用S1或者S2根本没啥大影响

S2,还有之前的webwork,老说说什么POJO,实际上大部分用S2的action的还不是要继承actionsupport
至于把变量写在action里面,一堆堆的get,set,那就更恶心了,比起actionform的方式差得远


封装POJO, 直接操作POJO对象的GET, SET不就好了~?
43 楼 my5622576 2009-07-19  
用哪个方便 效率高就用哪个吧

好像很多公司做表示层都有自己的框架
不知道是不是在这些已有框架基础上完善的了
42 楼 xiaojunjava 2009-07-17  
一般项目采用的有止一个框架,Struts2的新功能不是和spring有重复了吗.我也就用用Struts1的转发功能而已...
41 楼 zxz87 2009-07-13  
aws 写道
用SSH里面,Spring和hibernate是比较重要的,用S1或者S2根本没啥大影响

S2,还有之前的webwork,老说说什么POJO,实际上大部分用S2的action的还不是要继承actionsupport
至于把变量写在action里面,一堆堆的get,set,那就更恶心了,比起actionform的方式差得远

你可以不继承actionsupport
你又要pojo又不要getset,那你想要什么?
40 楼 刑天战士 2009-07-13  
struts2+convention plugin+JPA可以有不输于ROR的生产力
39 楼 步行者 2009-07-13  
<div class="quote_title"><span style="">以前用过1,确实挺麻烦的
2确实好一些</span></div>
<div class="quote_title">slaser 写道</div>
<div class="quote_div">取代struts1的不一定是struts2,现在和struts2竞争的框架很多,比如jsf,spring MVC等。我想在这些技术里面出现一个压倒优势的选择前,使用struts1的团队或许将保留很长一段时间的观望。</div>
<p>    赞同该观点<br></p>
<p> </p>
38 楼 zhiblin 2009-07-13  
关注一下,我朋友的公司好像用的是struts2
37 楼 aws 2009-07-13  
用SSH里面,Spring和hibernate是比较重要的,用S1或者S2根本没啥大影响

S2,还有之前的webwork,老说说什么POJO,实际上大部分用S2的action的还不是要继承actionsupport
至于把变量写在action里面,一堆堆的get,set,那就更恶心了,比起actionform的方式差得远
36 楼 641216927 2009-07-13  
我们现在开发的项目就是用的struts1.*版本的!写的Action、ActionForm比较多,也比较杂!开发起来是一个的弊病!我有接触过struts2.*,我相信将来struts2.*应该会走的更远!不过,现在还需要大家的支持struts2.*。我在网上搜索,感觉struts2.*的教程还是比较少的!郁闷
35 楼 yiding_he 2009-07-11  
用过 Struts2 的基本上都不会再去用 Struts。
34 楼 hanz188 2009-07-11  
目前我正在学习struts2,虽然理解不深,但struts2与struts之间的区别确实很大,想当初我学习struts的时候,它的架构与分层结构是我很难理解的部分,花去了我很多时间。
33 楼 litianhai 2009-07-10  
就是有点困惑,不知道选1  还是2
32 楼 javajdbc 2009-04-20  
团队熟悉1 就用1好了
对于2来说 还不是很成熟
31 楼 slaser 2008-11-02  
取代struts1的不一定是struts2,现在和struts2竞争的框架很多,比如jsf,spring MVC等。我想在这些技术里面出现一个压倒优势的选择前,使用struts1的团队或许将保留很长一段时间的观望。
30 楼 wiely 2008-11-02  
KimHo 写道

惟有"变"才是永恒的东西,呵呵. IT技术就是那么的激进和让人兴奋,特别是"软件".

29 楼 tianzhijie11 2008-11-01  
现在还没有流行啊,我记得去年就开始要搞struts2了。我还学习了一段时间,现在好久没搞JAVA了。
我还以为早就流行开了
28 楼 KimHo 2008-11-01  
惟有"变"才是永恒的东西,呵呵.
IT技术就是那么的激进和让人兴奋,特别是"软件".
27 楼 llyer110 2008-11-01  
fireflyc 写道
选择struts2没有任何理由的。
有人能给我理由吗?

嗯,上面有位朋友想在毕业之后流行struts2。非常不好意思,估计不会流行了。嗯,建议你学习HTML,这个是无敌的。只要web存在,它就是无敌的。而且会一直流行。



谁说HTML会一直流行,HTML是面向文本的,将来web会发展成面向多媒体的,再说HTML也过时了吧,新项目一般选择freemarker了
26 楼 newweapon 2008-11-01  
用1的都是有传统的,刚开始使用的都直接2了。

-----------------
http://docviewer.net
25 楼 wiely 2008-10-29  
cbywxy 写道

我接触Struts都有1.5年了吧。最近做项目用到了struts2.虽然以前接触的很少。但是个人认为2简化了不少。而且更灵活。标签库也强大的多

恩,个人认为struts2的标签比struts的简便而且功能强大的多。

相关推荐

    struts1和struts2的区别

    ### Struts1与Struts2的主要区别 #### 概述 Apache Struts 是一个用于构建企业级Java Web应用的开源框架。它分为两个版本:Struts1 和 Struts2。虽然两者都基于模型-视图-控制器(MVC)设计模式,但它们之间存在...

    struts2 最新漏洞 S2-016、S2-017修补方案 .docx

    Struts2 最新漏洞 S2-016、S2-017 修补方案 Struts2 是一个基于 Java 的 Web 应用程序框架,由 Apache 软件基金会维护。最近,Struts2 发生了两个严重的漏洞,分别是 S2-016 和 S2-017,这两个漏洞可能会导致攻击者...

    Struts2漏洞检查工具Struts2.2019.V2.3

    Struts2是一款非常流行的Java Web框架,用于构建企业级应用。然而,随着时间的推移,Struts2在安全方面暴露出了一些重要的漏洞,这给使用该框架的系统带来了潜在的安全风险。"Struts2漏洞检查工具Struts2.2019.V2.3...

    Struts2漏洞测试

    Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试...

    struts2jar包

    Struts2是一个强大的Java EE应用程序框架,主要用于构建企业级的Web应用。它的核心是MVC(Model-View-Controller)设计模式,可以帮助开发者组织代码,提高开发效率,并且提供了丰富的特性来支持表单验证、国际化、...

    Struts2视频教程

    ### Struts2核心知识点解析 #### 一、Struts2框架概述 - **定义与特点**:Struts2是一款基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它继承了Struts1的优点,同时在设计上更加灵活、易用,...

    struts1和struts2的jar包

    - **strutsd2.0最基本的jar包**:这是Struts2的基本库,包括struts2-core.jar、ognl.jar、freemarker.jar等,用于运行Struts2框架的基础服务。 在实际项目中,还需要根据具体需求添加其他依赖,如数据库驱动、...

    struts2 总结工程大全

    struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全...

    struts2-core.jar

    struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...

    struts2项目开发

    Struts2 项目开发 Struts2 是一个基于 Java Web 的框架,广泛应用于 Web 应用程序的开发。下面将从 Struts2 项目开发的角度,详细介绍 Struts2 框架的应用、开发流程、技术架构、实践经验等方面的知识点。 项目...

    Struts2VulsTools-Struts2系列漏洞检查工具

    该工具的打开路径为:\Struts2VulsTools-2.3.20190927\Test\bin\Release\Text.exe 2019-09-25: 优化部分EXP在部分情况下被WAF拦截的问题,提高检测成功率,优化自定义上传路径exp,文件所在目录不存在时自动创建...

    Struts2接口文档

    Struts2是一个强大的Java web应用程序开发框架,它基于Model-View-Controller(MVC)设计模式,旨在简化创建用户交互式、数据驱动的web应用的过程。这个“Struts2接口文档”是开发者的重要参考资料,提供了关于...

    Struts2教学视频

    Struts2是一个强大的Java web开发框架,用于构建可维护、可扩展且结构良好的应用程序。它在MVC(Model-View-Controller)设计模式的基础上提供了一种实现方式,使得开发者能够更方便地处理用户请求,控制业务逻辑,...

    struts2-showcase.rar

    Struts2-showcase是一个用于演示和学习Apache Struts2框架功能的开源项目。这个压缩包“struts2-showcase.rar”包含了完整的源代码,旨在帮助开发者深入理解Struts2框架的工作原理及其各种特性。以下是对Struts2和...

    Struts2_s2-016&017&ognl2.6.11_patch漏洞补丁

    -- 为修复struts2 s2-016、s2-017漏洞,重写DefaultActionMapper --&gt; &lt;bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="myDefaultActionMapper" class=...

    struts2的各种jar包

    Struts2是一个强大的Java web应用程序框架,用于构建和管理MVC(模型-视图-控制器)架构的应用程序。它在Java社区中广泛使用,因其灵活性、可扩展性和丰富的插件库而受到赞誉。Struts2的核心是Action类,它处理HTTP...

    struts2中文学习文档

    从给定的文件信息来看,标题“struts2中文学习文档”和描述“struts2的根本webwork2”表明这是一份关于Struts2框架的学习资料,特别强调了Struts2与WebWork2的关系。Struts2是Apache Struts的一个版本,它是一个用于...

    struts2环境搭建+struts2 新闻发布系统+struts2 留言板

    struts2环境搭建+struts2 新闻发布系统+struts2 留言板 struts2环境搭建:基础框架搭建,简单易上手,适合新手,比你看书强多了,实践源于理论而高于理论,贵在实践 朋友。 struts2 新闻发布系统:struts2+jsp 功能不...

    struts2所有jar包程序文件

    Struts2是一个非常著名的Java Web开发框架,由Apache软件基金会维护。它基于MVC(Model-View-Controller)设计模式,极大地简化了构建基于Java EE的Web应用程序的过程。本资源包含"struts2所有jar包程序文件",是...

    Struts2+Jquery+Ajax

    "struts2 jar"文件包含了Struts2框架的核心库,可能包括struts2-core、struts2-convention、struts2-json-plugin等依赖,这些是开发Struts2应用必不可少的组件。 "Struts2"可能是项目实例代码,包括Action类、视图...

Global site tag (gtag.js) - Google Analytics