structs和spring的MVC优势?
我现在的项目是使用structs2、spring和hibernate三个一起做的,structs的Action,spring的依赖注入,hibernate数据库操作。但是...
我现在的项目是使用structs2、spring和hibernate三个一起做的,structs的Action,spring的依赖注入,hibernate数据库操作。但是有人建议我改成spring和hibernate,使用spring的mvc,不要structs2了。我用着structs挺好的,但是他们说spring更加节省,因为要一定的学习成本,我不知道该不该换框架。
展开
3个回答
展开全部
我也推荐不要使用struts2了,spring的mvc模式确实会大大降低维护成本,缺点就是这方面的教程很少,官方的文档本身也描述的过于简单。所以,学习成本很高的,不过spring有一个官方开发工具,可以创建一个完整的spring mvc实例,这个实例还是很有看头的,推荐使用spring官方推出的开发工具开发spring mvc。
推荐你现在的项目依旧用spring、struts2、hibernate开发,不过可以兼顾学习一下spring mvc,项目开发还是先稳妥一点(我就有过使用新技术造成项目严重延迟的问题,被“奖励”了),不过长远看来,spring mvc的优势更加明显,更重要的是调试更加简单,维护也很方便,spring类似于面向切面编程、IoC也能获得发挥的余地。
推荐你现在的项目依旧用spring、struts2、hibernate开发,不过可以兼顾学习一下spring mvc,项目开发还是先稳妥一点(我就有过使用新技术造成项目严重延迟的问题,被“奖励”了),不过长远看来,spring mvc的优势更加明显,更重要的是调试更加简单,维护也很方便,spring类似于面向切面编程、IoC也能获得发挥的余地。
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
2015-08-11 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464972
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
1、spring3开发效率高于struts;
2、spring3 mvc可以认为已经100%零配置;
3、struts2是类级别的拦截, 一个类对应一个request上下文,springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应。所以说从架构本身上 spring3 mvc就容易实现restful url,而struts2的架构实现起来要费劲。因为struts2 action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了;
4、spring3mvc的方法之间基本上独立的,独享request response数据,请求数据通过参数获取,处理结果通过ModelMap交回给框架,方法之间不共享变量。而struts2搞的就比较乱,虽然方法之间也是独立的,但其所有Action变量是共享的。这不会影响程序运行,却给编码读程序时带来麻烦 ;
5、由于Struts2需要针对每个Request进行封装,把Request,Session等Servlet生命周期的变量封装成一个一个Map,供给每个Action使用,并保证线程安全。所以在原则上,是比较耗费内存的。
2、spring3 mvc可以认为已经100%零配置;
3、struts2是类级别的拦截, 一个类对应一个request上下文,springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应。所以说从架构本身上 spring3 mvc就容易实现restful url,而struts2的架构实现起来要费劲。因为struts2 action的一个方法可以对应一个url,而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了;
4、spring3mvc的方法之间基本上独立的,独享request response数据,请求数据通过参数获取,处理结果通过ModelMap交回给框架,方法之间不共享变量。而struts2搞的就比较乱,虽然方法之间也是独立的,但其所有Action变量是共享的。这不会影响程序运行,却给编码读程序时带来麻烦 ;
5、由于Struts2需要针对每个Request进行封装,把Request,Session等Servlet生命周期的变量封装成一个一个Map,供给每个Action使用,并保证线程安全。所以在原则上,是比较耗费内存的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
spring mvc要比struts简单,其次更好的整合了spring ,效率也要比struts高,原因是struts的值栈相信的struts的效率,struts出错率要比spring mvc高,如果是方便的话struts比spring mvc更方便,写好配置文件用*匹配路径,基本就继承,写get,set方法就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询