2011-05-20 42 views

回答

4

不,Tomcat不是EJB容器。只有Glassfish 3,JBoss AS 6等。對於Tomcat,您必須單獨安裝。鏈接的答案只是一個基本的開球例子。沒有EJB就可以做到這一點。您只需要在bean的初始化,構建或postconstruct期間自己創建它。例如。

private UserService userService = new UserService(); 

private UserService userService = ServiceFactory.getUserService(); 

請注意,這不是現有的代碼。這只是你自己寫的代碼。它所包含的只是執行所有數據庫交互任務的方法。在一個支持EJB的容器中,你可以使用JPA來實現這個功能。但是在像Tomcat這樣的簡單servlet容器上,你需要好的JDBC。您可以在this blog中找到基本JDBC DAO的大量啓動示例。

0

Apache是​​一個servlet容器,它只是Java EE規範的一部分。一旦找到,@EJB註釋將被跳過,Tomcat不會進行注入。如果您希望您的servlet調用EJB方法,則需要在servlet啓動時進行JNDI查找,並將遠程接口類放在servlet的類路徑中。

2

由於2011年10月的阿帕奇確實有Java EE certified version of Tomcat

經認證的版本被稱爲Apache TomEE並與補充,以便它可以通過Java EE 6的Web Profile的TCK正確的罐子純Tomcat的zip文件。

因此,您可以在Tomcat中使用EJB,JSF,JPA和更多,就像使用GlassFish,JBoss等在Apache提供的Tomcat版本上一樣。

相關問題