如何解决Tomcat无法处理的Java EE方案
| Tomcat仅实现Java Enterprise Edition体系结构的Web容器。相反,例如GlassFish实现了完整的Java EE堆栈。关于stackoverflow的讨论很多。 但是,对于像我这样的Java EE初学者来说,很难想象Tomcat无法完成什么。你能举一些简短的例子吗?解决方法
从Apache tomcat文档中:
Tomcat是EJB服务器吗?我可以在tomcat中使用EJB吗?
Tomcat不是EJB服务器。 Tomcat不是完整的J2EE服务器。 Tomcat是一个Servlet容器。 Tomcat确实支持Servlet所需的J2EE规范的那些部分,例如JNDI功能的子集。此外,您可以连接到远程J2EE服务器,也可以运行完整J2EE服务器中嵌入的tomcat。
这暗示着一些差异是...
Tomcat仅能处理战争,而不能处理EAR
Tomcat不支持任何类型的EJB(例如会话Bean,MDB,计时器等)。
Tomcat不支持JPA
Tomcat的JNDI功能受到限制(不确定此处的详细信息)
Tomcat可以在J2EE容器内部使用,以用作Web容器。
Tomcat在资源和文件系统足迹方面要轻得多。
如果您需要J2EE功能,尽管有复杂性和资源要求,我的建议是硬着头皮使用Glassfish(与tomcat相比,与Weblogic和JBoss等其他工具相比,Glassfish易于使用)。如果没有,请坚持使用tomcat,它将为您提供简单快捷的服务。无论哪种方式,稍后都不难切换项目包装并换出容器。
, Java EE包含大量技术/功能。其中一些是作为Tomcat下载的一部分提供的,其他一些可以添加到基于Tomcat的环境中,而另一些则不能添加到Tomcat环境中。
将EJB jar部署到Tomcat:否。
调用在EJB容器中运行的EJB的Remote方法:是。
将RAR部署到Tomcat:否。
将EAR部署到Tomcat:否。
将应用程序客户端jar部署到Tomcat:否。
拼凑一种托管Java Web Startable应用程序的方式,该应用程序调用在EJB容器中运行的EJB的Remote方法:是
使用JSF作为应用程序的框架:是的,但是您需要在应用程序中打包实现或将其安装到服务器上。
创建一个利用JSR-88来管理War文件在Tomcat上的部署的程序:不,这不是一个巨大的损失。
使用JSR-77 MEJB管理您的Tomcat服务器:不,这不是另一个巨大的损失。
创建提供SOAP Web服务的Web应用程序:是的...,但是您将需要单独下载这些工具和库,并将它们与您的工作流,应用程序和服务器运行时集成在一起。
创建使用JPA的Web应用程序:是的,但是您需要将这些工具和库作为单独下载的一部分,并将它们与您的工作流,应用程序和服务器运行时集成在一起。
创建使用CDI的Web应用程序:是的,但是您需要将这些工具和库作为单独下载的一部分,并将它们与您的工作流,应用程序和服务器运行时集成在一起。
, EJB-无状态会话Bean,有状态会话Bean
消息驱动的bean
EJB计时器
JPA(EJB3.0)
这是一个非常基本的列表。 Tomcat还没有许多其他功能。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。