Deployment Emply EJB和Servlet
在阅读了这么长时间之后,我现在有机会用EJB弄脏了我的手。我在Ubuntu上使用Glassfish+Eclipse3.7 我首先创建了一个只返回问候消息的EJB。然后,我使用InitialContext创建应用程序客户端来访问这个EJB。这与预期完全一样 然后,我创建了一个servlet来访问该EJB。使用@EJB或InitialContext进行访问都不起作用 当我使用@EJB时,404页面显示如下描述:“请求的资源()不可用。” 使用InitialContent时,会引发ClassNotFoundException。显然,servlet的类装入器无法访问EJB类。我试图将EJBJAR文件添加到servlet的lib文件夹中,但得到的错误消息是JNDI名称已经存在。显然,GlassFish也尝试在Servlet的lib文件夹中发布EJB 实现此功能的唯一方法是使用servlet发布EJB。这样,我就可以让servlet和独立应用程序访问EJB。问题是,我需要始终在EJB中使用servlet,这是不可取的,因为我的客户机可能不想使用web前端 无论如何,我的问题是,什么是让servlet访问类装入器之外使用的EJB的合适方式,而不必重复发布EJB 另外,问题也可能是Eclipse配置和使用这些组件的方式Deployment Emply EJB和Servlet,deployment,servlets,ejb,Deployment,Servlets,Ejb,在阅读了这么长时间之后,我现在有机会用EJB弄脏了我的手。我在Ubuntu上使用Glassfish+Eclipse3.7 我首先创建了一个只返回问候消息的EJB。然后,我使用InitialContext创建应用程序客户端来访问这个EJB。这与预期完全一样 然后,我创建了一个servlet来访问该EJB。使用@EJB或InitialContext进行访问都不起作用 当我使用@EJB时,404页面显示如下描述:“请求的资源()不可用。” 使用InitialContent时,会引发ClassNotFo
非常感谢您的帮助。也许您需要将EJB组件视为远程组件。也许真的是这样,因为你没有给出很多关于如何部署的细节。请尝试以下几点的说明:
- 您可能需要将webapp和ejbjar放在
(企业应用程序)中,并将其部署到glassfish.ear
- 您可能需要webapp类路径上的远程接口(如果它们在运行时不可用,但在编译时可用,则不能期望它工作)
- NetBeans通常更好地使用企业级工具和向导来创建和部署应用程序。试试看