论坛首页 Java企业应用论坛

spring3mvc与struts2比较

浏览 161993 次
该帖已经被评为良好帖
作者 正文
   发表时间:2010-12-09  
选择springmvc,感觉比struts开发效率高
0 请登录后投票
   发表时间:2010-12-23  
我就想问一下,springMVC3有没有解决嵌套对象的问题。。

让我可以这么写<input id="user.id" type="text"/>

model为role,role中嵌套user
0 请登录后投票
   发表时间:2010-12-23  

使用中,, 确实比struts方便很多    lz分析的很到位

  • 大小: 55.2 KB
0 请登录后投票
   发表时间:2011-01-17   最后修改:2011-01-17
一直在使用struts2。
这个帖子从第一页看到最后,也没有看到Spring 3 mvc有哪些决定性优势。
至于REST式的URL,我想问的是:它有什么优势?
如果你说“对搜索引擎友好”,那么,如果我的项目是内网使用,根本不会发布到互联网上,REST URL对搜索引擎友好的优点,还有什么意义?

spring mvc需要对每个方法,使用注解定义方法所对应的URL,也需要在方法中指定URL所绑定的视图文件路径,这些在struts2中都可以使用struts2-convention-plugin-2-2-1.jar插件,以“约定大于配置”的方式来绑定,不需要额外的xml配置,也不需要注解来“隐形配置”【当然,如果你有复杂的跳转需求,你也可以在action类中,使用@Results({@Result(name = "toInfoList", location = "info-list.action?viewType=Common", type = "redirectAction")})这样的注解,定义action的跳转url】,大大节省了时间,而且强制约束了视图文件和action类的路径,使得视图文件和action类的路径更加集中、命名更加规范规范。

但是Spring 3 MVC,除非你自己强力约束自己,否则视图文件可以存放在文件夹内的任何层次内,这样就会给开发者“杂乱无章地存放试图文件”提供温床。

而且,Spring 3 MVC 控制器的方法参数,既可以是和Url参数对应的参数,也可以是HttpServletRequest类的对象request,还可以是实体类的对象,还要考虑同一个URL,如果method=RequestMethod.GET会对应一个方法,如果method=RequestMethod.PUT,又对应另一个方法,还要考虑方法的@RequestMapping注解内,有没有使用类似“params = "viewType=showUri“这样的参数定义,URL有没有传递这个参数过来,如果传递了会映射到这个方法上,如果没有传递则不能映射到这个方法上,诸如此类,总体感觉就是:“Spring 3 MVC”杂乱无章,给开发者的自由度太大,容易让懒惰的程序员把程序搞得乌七八糟,当然,如果是一个写程序非常规范的程序员,严格约束自己的开发风格,命名规范上严格约束自己,这样的程序员来使用Spring 3 MVC,也能做到“井然有序”,但毕竟Spring 3 MVC给了开发者太多的自由度,为懒惰的程序员提供了创造“杂乱无章的程序”的温床。

批评了Spring 3 mvc之后,称赞一下它比较好的地方,对json和xml的支持比较好,这样,使用一些JavaScript树的时候,树的数据源就不用使用Servlet来提供了。


我觉得Spring 3 MVC如果不采用“约定大于配置”的方式,使用“类路径 + 方法名” 对应 “约定的URL” ,对应“约定路径的视图文件”这种方式的话,对于struts2,它是没有什么优势的。
0 请登录后投票
   发表时间:2011-01-25  
oakeye 写道
还有就是中文问题  我只能复写那个StringHttpMessageConverter,然后把编码方式写成utf-8

我一般是自定义一个ajax试图处理器,分别用来返回纯文本,xml和json类型!
0 请登录后投票
   发表时间:2011-01-25  
downpour 写道
shiren1118 写道
你觉得这有啥可炫耀的吗?spring的多view解析实现这个跟玩一样

看看这兄弟的帖子吧http://www.iteye.com/topic/748006


帅哥,咱不再做框架之争了好么?SpringMVC与Struts2都是优秀的Web层框架。框架的优劣,是程序员自身的哲学选择。有些东西,我说是缺点,你却说是优点,这是永远也争不清楚的。

在这里我需要给那些使用SpringMVC的同学提个醒。Annotation进行UrlMapping在大型的web应用中的可维护性是值得质疑的。在团队开发中,这一问题显得格外严重。所以,请不要神化SpringMVC的某些功能。谢谢。



是的,如果没有源码,这个维护确实是问题,但是咱不可否认,Springmvc 开发起来快!struts2和SpringMVC都用过!
0 请登录后投票
   发表时间:2011-01-25  
不知道在谈论什么,大家都吵起来了!
0 请登录后投票
   发表时间:2011-01-25  
REST URL 不一定就搜索引擎友好, 这个要看哪个搜索引擎了。 如果是百度。。。。。 哎, 这个百度的新闻收录。就
0 请登录后投票
   发表时间:2011-02-12  
一个破框架吵啥。俺都是手写
0 请登录后投票
   发表时间:2011-02-16   最后修改:2011-02-16
downpour 写道
shiren1118 写道
你觉得这有啥可炫耀的吗?spring的多view解析实现这个跟玩一样

看看这兄弟的帖子吧http://www.iteye.com/topic/748006


帅哥,咱不再做框架之争了好么?SpringMVC与Struts2都是优秀的Web层框架。框架的优劣,是程序员自身的哲学选择。有些东西,我说是缺点,你却说是优点,这是永远也争不清楚的。

在这里我需要给那些使用SpringMVC的同学提个醒。Annotation进行UrlMapping在大型的web应用中的可维护性是值得质疑的。在团队开发中,这一问题显得格外严重。所以,请不要神化SpringMVC的某些功能。谢谢。

顶,支持。

这点我深有体会,Spring MVC 3.0.5 留给开发者的自由度太大了,让开发者可以在一个controller 里,在class上和method上自由定义url,这样的话,会造成同一个包路径下的controller 映射到任何层次级别的url上去,也会造成不同的包路径下的controller 映射到相同层次的url上去,甚至会出现多个controller 映射到同一个url,一句话概括就是:【杂乱无章】,这样的自由度泛滥,在大的项目中必定造成维护上的混乱,不要指望每个程序员都是命名规范,自觉遵循项目约定的“顺草”,基本上每个项目组都是“杂草丛生”。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics