我创建了一个 NetBeans Enterprise 应用程序,它由一个包装 ejb (jar) 项目和一个 web (war) 项目的 ear 组成。
我的 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 项目的全部意义在于,业务逻辑可以放置在 ejb 中并从 Web 资源(如 servlet)中调用。
那么我应该如何在 Web(战争)应用程序中使用 EJB?