我对在开发web应用程序时使用什么感到非常困惑。如果您可以使用Java se restlet开发web服务,那么为什么还要使用Java呢?其中一个的优点是什么?我应该在什么时候以及为什么要使用每一个?
发布于 2014-01-10 13:26:04
使用像Restlet这样的东西并不一定要排除JavaEE (您可以在JavaEE平台中使用RestLet )。
传统上,JavaEE容器为应用程序提供标准化的服务。如果您想要有一种以事务方式存储数据的方法,您可以编写一些EJB,因为您不必提出事务模型。容器提供了这个功能。您只关注了特定于域的实体和会话bean。
Spring出现了,并在它自己的实现中提供了许多相同的功能(共享一些规范并提出自己的规范)。但归根结底,你是在使用一个通用的模型来做事情。
JavaEE (或Spring)并不局限于事务性模型。JavaEE集成了Servlet,而Servlet又支持大量的Web应用程序框架。但是,像tomcat这样的许多应用程序支持servlets,而不支持完整的JavaEE规范。如果您的应用程序需要异步消息传递,JavaEE容器可以提供JMS服务器,以及定义DataSources的标准方法。
如果你想拥有大量的企业级特性而不需要自己设置它们,你通常会使用像Glassfish/JBoss这样的JavaEE容器。
您可以在Spring/etc中做同样的事情,它只是一个JVM,但是您也需要自己设置所有这些服务(例如,启动您自己的JMS服务器)。
在历史上,JavaEE容器被视为大型的、资源密集型的应用程序,它推动了世界上许多Spring将您想要/需要的东西拼凑在一起。不过,JavaEE容器的更新版本开始逆势而行。
你真的需要知道你的应用程序想要做什么,看看有什么工具能为你提供你想要的。除此之外,只要抓起Glassfish或类似的东西,玩一玩就行了。
希望这能有所帮助。
https://stackoverflow.com/questions/21035902
复制相似问题