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相媲美就能看出来。 说明:“轻”或“重”指的是实现代价实现成本的大小。 |
Spring、struts、webwork2三者MVC的比较的更多相关文章
- Spring+Struts+Hibernate 简介(转)
http://blog.csdn.net/slnqnd/article/details/1772910/ Struts2.0 +Hibernate 3.2 +Spring 2.0 一. ...
- Spring+Struts集成(第二种方案)
在上一篇文章中我们了解到了第一种Spring跟Struts集成的方案,但此集成方案的不足是WEB层中知道Spring的相关内容,因为需要去主动的查找对象:BeanFactory.方案二便是通过依赖注入 ...
- 概述struts,以及struts如何实现MVC架构的
概述MVC体系结构? 答:MVC包括三类对象,model是应用对象,view是视图,controller是控制器,它定义用户界面对用户输入的响应方式. 在MVC体系中,模型通常被称为”业务逻辑”,是真 ...
- 自己动手写Spring框架--IOC、MVC
对于一名Java开发人员,我相信没有人不知道 Spring 框架,而且也能够轻松就说出 Spring 的特性-- IOC.MVC.AOP.ORM(batis). 下面我想简单介绍一下我写的轻量级的 S ...
- Spring Boot 2.X(四):Spring Boot 自定义 Web MVC 配置
0.准备 Spring Boot 不仅提供了相当简单使用的自动配置功能,而且开放了非常自由灵活的配置类.Spring MVC 为我们提供了 WebMvcConfigurationSupport 类和一 ...
- 为什么使用spring Struts 等框架开发
转载自:http://www.cnblogs.com/sharpxiajun/p/3936268.html 今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入, ...
- SSM整合案例(Spring+Struts+Mybatis)
项目目录结构 第一步:创建数据库和数据表 CREATE DATABASE IF NOT EXISTS mybatis; USE mybatis; CREATE TABLE t_user ( ) NOT ...
- Spring+Struts+Mybatis+Shiro整合配置
Jar包
- java web - 为什么要使用spring struts
1.软件里有很多优秀的框架,有一种类型的框架,它的特点是建立在一个现有技术的基础上,提供和现有技术一样业务功能的技术框架,这个新的技术框架比原技术更加易用,更加健壮同时功能更加强大,例如:jQuery ...
随机推荐
- sqliteExpert软件使用(创建数据库和表)
sqliteExpert是sqlite数据库的可视化操作软件,通过该软件可以进行可视化的创建数据库以及表,免去了复杂的建表语句.首先在下面地址下载该软件http://www.ddooo.com/sof ...
- JAVASCRIPT中RegExp.$1是什么意思
RegExp 是javascript中的一个内置对象.为正则表达式. RegExp.$1是RegExp的一个属性,指的是与正则表达式匹配的第一个 子匹配(以括号为标志)字符串,以此类推,RegExp. ...
- C# 获取word批注信息
今天在Silverlight 应用程序中实现了 获取word文档批注信息 的功能. 在wcf服务继承接口类中编写的函数如下 /// <summary> /// 获取word批注信息 /// ...
- Problems encountered while deleting resources.
Error The project was not built due to “Problems encountered while deleting resources.”. Fix the pro ...
- Web---JSP注册技术的的演绎(3代)-JSP/EJB/Servlet/POJO/JavaBean
我们可以这么理解JSP注册技术的发展过程: 第一代JSP技术:纯JSP开发. 第二代JSP技术:JSP+EJB开发. (EJB简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行.) 第三代J ...
- 多控制器之UIWindow
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- r.js 配置文件 build.js 不完整注释
-----------------------------------------------------------------------r.js 配置文件 example.build.js ...
- Cogs 97. [NOIP2007] 树网的核 Floyd
题目: http://cojs.tk/cogs/problem/problem.php?pid=97 97. [NOIP2007] 树网的核 ★☆ 输入文件:core.in 输出文件:core ...
- jsf服务器端验证用户输入
服务器端验证用户输入数据步骤 1 html页面上插入要输入数据控件 <h:inputText size="10" value="#{commodityBean.fo ...
- 教程-Delphi各种退出break,continue, exit,abort, halt, runerror
delphi中表示跳出的有break,continue, exit,abort, halt, runerror.1.break 强制退出循环(只能放在循环中),用于从For语句,while语句或rep ...