我是java web技术的新手。据说java web应用程序有两个容器:
这些容器是什么?他们如何合作?
有人说Tomcat是一个Web容器,而在某些地方,据说Tomcat是一个应用服务器。究竟是Tomcat是什么?
如果我说web container + EE container = Application server
是否正确?
答案 0 :(得分:5)
Tomcat只是一个Servlet容器,也可以作为Web服务器,这意味着它支持开箱即用的Servlet API,JSF,Play框架,Spring(一些功能集)等等。另一方面,Application Server通常是Servlet容器的超集,这意味着它包含容器具有的所有功能+所有其他Java EE功能,如消息传递,EJB
,JTA
,JavaMail
,远程和其他人。
因此,选择主要取决于您的要求,但在CDI
的世界中,Servlet容器应该足以满足大多数应用程序(Java EE 7还提供事务支持)。
一些Servlet容器
一些应用服务器
答案 1 :(得分:3)
Tomcat是一个Servlet容器。它不是一个完全成熟的Java EE兼容的Application Server,因此它不支持开箱即用的EJBs
或JMS
。
答案 2 :(得分:1)
我认为我自己通过Wikepedia找到了合理的答案,因为没有人给我一个明确的答案
Java平台,企业版或Java EE(是J2EE)定义了 核心API集和Java应用程序服务器的功能。网络 模块包括servlet和JavaServer Pages。 Enterprise JavaBeans 用于管理交易。根据J2EE蓝图 应用程序的业务逻辑驻留在Enterprise JavaBeans中 - a 模块化服务器组件提供许多功能,包括 声明式事务管理,以及改进应用程序 可扩展性。一些Java应用程序服务器省去了许多Java EE 像EJB和JMS这样的功能,包括来自Apache的Tomcat和来自的Jetty Eclipse Foundation。他们更关注Java Servlets和 JavaServer Pages。