Spring、struts、webwork2三者MVC的比较
http://blog.sina.com.cn/s/blog_4a69fa43010005il.html
在web应用方面,Spring有独立的MVC实现,与struts和webwork2相比毫不逊色。
struts缺点是比较重,页面(V)上要有form要用标签,form(M)要继承ActionForm这么个东东,控制类(C)继承Action/DispatchAction。
webwork2比struts要轻,页面没什么说的主要就是标签,model层也不要强制继承什么,控制类还是要实现一些webwork2的接口Action/ModelDriven。
Spring和webwork2轻重相当。页面标签用jstl,model也不用继承什么,控制类继承MultiActionController/SimpleFormController。
struts和webwork2都有自己的标签库,都很强大。不过偶更倾向Spring的选择--JSTL,JSTL是标准的标签库,优点嘛,标准就是优点:)
在页面输入数据绑定上,struts用的是ActionForm的自动绑定,webwork2是modeldriven的getModel()绑定,Spring的是在controller中声明command对象。
在实现输入验证上struts在form(M)上做文章要继承ValidateForm,webwork2/Spring都在action上做文章。 这里有一点应该提出来,要用输入验证,页面上必须用标签绑定输入项,这一点三者是一样的。 在国际化上,三者实现类似。
配置文件方面,Spring、struts、webwork2都差不多,难度相当。
其实偶一直认为MVC其中的model部分是比较难办的,如果model层完成全部的业务,就会仅为了MVC而忽略业务部分的分层合理化。 Spring是强大完备的,这从仅仅它的MVC部分就能和struts/webwork2相媲美就能看出来。 说明:“轻”或“重”指的是实现代价实现成本的大小。 |
如本文存在任何侵权部分,请及时告知,我会第一时间删除!
转载本博客原创文章,请附上原文@cnblogs的网址!
QQ: 5854165 我的开源项目 欢迎大家一起交流编程架构技术&大数据技术! +++++++++++++++++++++++++++++++++++++++++++
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步