即将启动一个Java EE项目。(商务要求仍在改变中。) 对于Web层,我们查看了各种java Web框架并删除了基于组件的框架,例如JSF,Wicket。现在谈到春季mvc 3或struts 2。 谷歌搜索它,发现一些有用的信息。任何人都可以谈论他们的利弊吗?谢谢。
答案 0 :(得分:4)
我接管了一个Struts 2 + Guice Web应用程序,该应用程序使用REST插件来执行约定优于配置。起初工作非常容易,但我遇到了一些困难或无法克服的障碍。
其中一个是我需要在URI的路径中有内部点/句点字符,Struts 2 + REST不允许这样做,因为它会解释点以指示文件扩展名并尝试编组到适当的观点(例如捕捉.xml和.json)。
所以我最终在Spring 3中重写了webapp,并且能够解决我在Struts 2中无法处理的所有问题。我对Spring 3感到非常满意并发现它和Struts一样快速编写代码2.我尽可能地坚持使用基于注释的配置,并尝试尽可能使用JSR版本(330 @Inject和303 @Valid等),这样如果我决定摆脱Spring,我就不会卡住使用自定义Spring注释。
我的投票是春季3。
答案 1 :(得分:1)
在另一个stackoverflow question中,你有很多答案比较struts和Spring。虽然他们中的许多人没有明确提到Spring的版本3,但比较版本与2.5版相似。
正如他们中的许多人所说,我更喜欢春天。使用注释时,它会使事情变得更容易。与Spring-mvc相比,Struts 2中我不喜欢的一个事实是你必须为你想要在动作中获得的每个属性添加getter和setter。我认为Spring以这种方式更清洁。
答案 2 :(得分:1)
@Javi 你在Struts2中有各种选项来避免这些getter和setter中的一个id ModelDriven拦截器
我的投票是针对Struts2的,因为我正在研究这么长时间,但这并不意味着Spring MVC很糟糕,我已经开始研究它同样好了......
选择是你的全部,这取决于你最喜欢Spring或Struts的单词