Java SE RESTful VS java EE

时间:2014-01-10 03:50:10

标签: java web

我对开发Web应用程序时使用的内容非常困惑。如果您可以使用Java se restlet开发Web服务,那么为什么还要使用Java EE。一个优于另一个的优点是什么?何时以及为什么要使用它们?

1 个答案:

答案 0 :(得分:2)

使用像Restlet这样的东西不必排除JavaEE(您可以在JavaEE平台中使用RestLet)。

传统上,JavaEE容器为应用程序提供标准化服务。如果您想要一种以事务方式存储数据的方法,那么您可以编写一些EJB,因为您不必提供事务模型。容器提供了。您只关注特定于您的域的实体和会话bean。

Spring出现并在其自己的实现中提供了许多相同的功能(共享一些规范并提出自己的规范)。但是在一天结束的时候,你正在使用一种通用模型来做事。

JavaEE(或Spring)不仅限于事务模型。 JavaEE结合了Servlet,后者又支持大量的Web应用程序框架。但是,再一次,像tomcat这样的许多应用程序都支持servlet而不支持完整的JavaEE规范。如果您的应用程序需要异步消息传递,JavaEE容器可以提供JMS服务器,以及定义JDBC DataSources的标准方法。

如果你想拥有很多企业级功能而不必自己设置它们,你通常会使用像Glassfish / JBoss这样的JavaEE容器。

您可以在Spring / etc中执行所有相同的操作,这只是一个JVM,但您也可以自己设置所有这些服务(例如,启动您自己的JMS服务器)。

从历史上看,JavaEE容器被视为大型,资源密集型应用程序,它们驱使世界上许多斯普林斯公司将您想要/需要的东西拼凑在一起。然而,更现代的JavaEE容器版本开始逆转这种趋势。

您真的需要知道您的应用程序想要做什么,并查看哪些工具将为您提供所需的内容。除此之外,只需抓住Glassfish或类似的东西就可以玩。

希望这有帮助。