我正在试图找出使用Java EE 6开发RESTful Web应用程序的最佳选择。例如,我希望能够像这样解释一个URL:
获取www.myapp.com/customers/1 - 返回一个网页,其中显示有关身份1的客户的详细信息。
我能想到的唯一两个选择是
是否有其他框架可以让您开发像这样的Web应用程序?另外,我非常感谢有关为什么一个框架可能比另一个框架更好的见解。
我的另一个考虑因素是您可以在框架中使用哪些视图技术?我听说很多视图技术与Spring MVC集成在一起,比如Velocity和Tapestry ......这些很容易集成在一起,还是会遇到很多问题?一个重要的是我需要模板化(如ASP.NET中的母版页)。
我是Java EE世界的新手 - 我在微软用它们给你一个选择。我是ASP.NET MVC的忠实粉丝 - 有类似于Java世界的东西(或者是Spring MVC吗?)。
我不习惯所有这些选择......帮助!
感谢您提出任何意见/建议。
答案 0 :(得分:6)
我建议你看一下:
(但有一个问题:为什么你需要能够与Java EE集成?)
编辑:如果您绝对想要使用Java EE API,那么正如BalusC所提到的,JAX-RS是您的首选解决方案。 Restlet和Jersey都支持它。我不知道RESTEasy,但是JAX-RS维基百科页面提到它。
答案 1 :(得分:4)
这不是JavaEE,只是JavaSE(有些人可能会说这是件好事),但Play Framework是RESTful,而且我认为使用它也很好。
答案 2 :(得分:1)
我决定选择Spring MVC。我没有选择JSF 2,因为它不是非常RESTful - 获得RESTful URL(必须使用插件)似乎需要做很多工作,它保持状态服务器端,而不是面向行动。 Play似乎是一个非常酷的框架,但它还不足以让我证明它的使用(我仍然不确定你是否可以使用Java EE)。
Spring MVC 3允许您映射URL的RESTful并且是面向行动的 - 我更喜欢。
我正在研究Grails看起来非常有前途,但仍然相对较新,看起来它还没有支持Java EE 6。
答案 3 :(得分:1)
我将继续@Haylem对Restlet的推荐。我们有一个大型项目,它有点利用Java EE(一些无状态会话bean,Glassfish,一个计时器bean,servlet,JDBC,JNDI)。 Restlet非常适合:您可以在一个基于Restlet的servlet中运行一组Web服务。您可以通过相对较少的工作获得大量功能。我们对它很满意。
答案 4 :(得分:1)
由于你有一个Rails背景,我建议你看一下Scooter框架,它将很多好东西从Rails移植到Java。与Struts和SpringMVC一样,它是一个基于动作的MVC框架。它美妙地处理宁静的路线。请参阅其他网址:http://scooterframework.com/docs/restful_routing.html
它的视图层技术简直就是JSP,由SiteMesh布局框架管理。但它也处理StringTemplate视图文件。