我創建了一個包含ejb(jar)項目和web(war)項目的耳朵的NetBeans Enterprise應用程序。如何從Web項目中的Netbeans ejb項目使用EJB?
我在我的web項目中有一個servlet,我想使用其中的ejb項目中的一個EJB。
@WebServlet(name = "Shop", urlPatterns = {"/ajax/add_to_cart"})
public class ShoppingCartServlet extends HttpServlet {
@EJB
ShoppingCartFacade shoppingCartFacade
我在NetBeans中得到一個錯誤 - 「無法找到符號」爲ShoppingCartFacade。即使它位於「兄弟」ejb項目中,Netbeans也無法自動找到ShoppingCartFacade的包。如果我開始在Servlet中手動輸入包名稱,即。
import com.myproject....
我可以看到,唯一可見的包是在web項目本身,即。
com.myproject.web.my_web_related_package
可見
而
com.myproject.ejb.my_ejb_related_package
是不可見的
當然,它必須是直接注入一個EJB到Web項目具有單獨的EJB和Web項目的全部意義在於使可以將業務邏輯放在ejbs中並從諸如servlet之類的網絡資源中調用。
那麼我該如何在Web(war)應用程序中使用EJB呢?
您還可以將EJB放入戰爭(如果您不需要遠程訪問它們) – LightGuard
我不想將EJB放入戰爭中,因爲我想分離關注點。 – sonicboom