论坛首页 Java企业应用论坛

spring3mvc与struts2比较

浏览 162470 次
该帖已经被评为良好帖
作者 正文
   发表时间:2010-10-07  
wen66 写道


而在spring3的mvc下(restful), 会存在一个问题就是, 如果我要直接转向我的 http://localhost/myapp/model1/my.jsp 时如果我不在mvc配制文件下配制下配制, 那它怎么进行转向, 这也是一个问题. 也就是说我增加一个jsp, 还要改配制文件, 这很烦啊. 或者说是我没有发现有别的方法可做, 请大家指教.

我一般在一通用的控制器中配置:
@RequestMapping("{view}.jsp")
String raw_jsp(@PathVariable("view") String view){
   return view;
}
1 请登录后投票
   发表时间:2010-10-09  
spring3mvc还没用过,lz可以提供些资料参考参考
0 请登录后投票
   发表时间:2010-10-24  
存在就是合理!没有最好和的技术。只有最合适的,而且还只能在某个时间点上。选择什么技术,要根据使用环境决择。如果是学习的话,都学就没错了。
0 请登录后投票
   发表时间:2010-10-26  
Struts2首先是线程安全的,高并发不是问题,同时里面也有内存回收机制。
目前推荐版本为Strust2.2.1
0 请登录后投票
   发表时间:2010-10-28  
我一直都是 struts2 的坚定用户。但是目前struts2有几个比较郁闷的问题:

第一个就是 rest 的支持不够好(通过 struts2-rest-plugin),这一点比 springmvc 要差不少。尤其是不支持多参数的 restful url。类似: http://www.xxx.com/app/{userId}/{fooId}/{barId}.xml  ,没法实现。
并非俺对rest的标准规范执著,如果海量用户要求按照 userId 做 sharding,那么所有的业务api就必须传入userId。
也就是说,以前是:
http://www.xxx.com/app/photos/2.xml
做了 sharding 之后,应该是:
http://www.xxx.com/app/${userId}/photos/2.xml
当然也可以通过?参数的形式来传入 userId,但既然用了 rest,出现这种参数就非常奇怪!

第二个就是 struts2 的版本更新是在太慢!比 springmvc 慢很多。

当然strust2 的优点也很多了。比如线程安全,高压力下的性能表现至今我也没发现有问题。功能很强大,插件很丰富等。。

但是尤其是第一个问题,如果以后还不能很好的支持 rest,俺真打算改向 springmvc了!
0 请登录后投票
   发表时间:2010-10-28   最后修改:2010-10-28
rustlingwind 写道
我一直都是 struts2 的坚定用户。但是目前struts2有几个比较郁闷的问题:

第一个就是 rest 的支持不够好(通过 struts2-rest-plugin),这一点比 springmvc 要差不少。尤其是不支持多参数的 restful url。类似: http://www.xxx.com/app/{userId}/{fooId}/{barId}.xml  ,没法实现。
并非俺对rest的标准规范执著,如果海量用户要求按照 userId 做 sharding,那么所有的业务api就必须传入userId。
也就是说,以前是:
http://www.xxx.com/app/photos/2.xml
做了 sharding 之后,应该是:
http://www.xxx.com/app/${userId}/photos/2.xml
当然也可以通过?参数的形式来传入 userId,但既然用了 rest,出现这种参数就非常奇怪!

第二个就是 struts2 的版本更新是在太慢!比 springmvc 慢很多。

当然strust2 的优点也很多了。比如线程安全,高压力下的性能表现至今我也没发现有问题。功能很强大,插件很丰富等。。

但是尤其是第一个问题,如果以后还不能很好的支持 rest,俺真打算改向 springmvc了!

<action name="app/*/*/*.xml" className="appAction">  
    <param name="userId">{1}</param>  
    <param name="fooId">{2}</param>  
    <param name="barId">{3}</param>  
    <result name="..." type="..."/>  
</action>  
0 请登录后投票
   发表时间:2010-10-29  
争议贴,一种新技术的崛起,意味着旧技术将会被慢慢替代。学习。
0 请登录后投票
   发表时间:2010-10-29  
spring MVC 一看就没兴趣, 和N年前的servlet系统差不多, 一直用struts2.
0 请登录后投票
   发表时间:2010-10-29  
JesseyHu 写道
Struts2首先是线程安全的,高并发不是问题,同时里面也有内存回收机制。
目前推荐版本为Strust2.2.1


0 请登录后投票
   发表时间:2010-11-01  
icewubin 写道
rustlingwind 写道
我一直都是 struts2 的坚定用户。但是目前struts2有几个比较郁闷的问题:

第一个就是 rest 的支持不够好(通过 struts2-rest-plugin),这一点比 springmvc 要差不少。尤其是不支持多参数的 restful url。类似: http://www.xxx.com/app/{userId}/{fooId}/{barId}.xml  ,没法实现。
并非俺对rest的标准规范执著,如果海量用户要求按照 userId 做 sharding,那么所有的业务api就必须传入userId。
也就是说,以前是:
http://www.xxx.com/app/photos/2.xml
做了 sharding 之后,应该是:
http://www.xxx.com/app/${userId}/photos/2.xml
当然也可以通过?参数的形式来传入 userId,但既然用了 rest,出现这种参数就非常奇怪!

第二个就是 struts2 的版本更新是在太慢!比 springmvc 慢很多。

当然strust2 的优点也很多了。比如线程安全,高压力下的性能表现至今我也没发现有问题。功能很强大,插件很丰富等。。

但是尤其是第一个问题,如果以后还不能很好的支持 rest,俺真打算改向 springmvc了!

<action name="app/*/*/*.xml" className="appAction">  
    <param name="userId">{1}</param>  
    <param name="fooId">{2}</param>  
    <param name="barId">{3}</param>  
    <result name="..." type="..."/>  
</action>  


谢谢兄弟告知的方法,不过我没用struts2 默认的action方式,用的是 struts2 convention plugin 和 rest plugin,基于注释的rest支持。这种方案是 struts2 官方支持的 rest,确实已经支持零配置,以及内容协商等机制,但是非常遗憾,不支持多参数的rest url,官方网站上有一个专门的bug说明:
https://issues.apache.org/jira/browse/WW-2842
但这个bug到现在还没有修正。。。可恶。。。
0 请登录后投票
论坛首页 Java企业应用版

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