使用Java EE 6进行RESTful Web开发 - 有哪些选择?

时间:2010-09-24 14:49:40

标签: rest java-ee java-ee-6 web-frameworks

我正在试图找出使用Java EE 6开发RESTful Web应用程序的最佳选择。例如,我希望能够像这样解释一个URL:

获取www.myapp.com/customers/1 - 返回一个网页,其中显示有关身份1的客户的详细信息。

我能想到的唯一两个选择是

  1. 使用Spring MVC 3
  2. 使用允许渲染视图的JAX-RS规范 - 我听说RESTEasy与Spring MVC集成?
  3. 是否有其他框架可以让您开发像这样的Web应用程序?另外,我非常感谢有关为什么一个框架可能比另一个框架更好的见解。

    我的另一个考虑因素是您可以在框架中使用哪些视图技术?我听说很多视图技术与Spring MVC集成在一起,比如Velocity和Tapestry ......这些很容易集成在一起,还是会遇到很多问题?一个重要的是我需要模板化(如ASP.NET中的母版页)。

    我是Java EE世界的新手 - 我在微软用它们给你一个选择。我是ASP.NET MVC的忠实粉丝 - 有类似于Java世界的东西(或者是Spring MVC吗?)。

    我不习惯所有这些选择......帮助!

    感谢您提出任何意见/建议。

5 个答案:

答案 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视图文件。