java - 如何为Servlet使用依赖项?

标签 java servlets dependency-injection web-project three-tier

我有一个businessLogic层,我想在servlet中使用它,但是我所做的任何事情都会引发错误

@WebServlet("/Servlet")
public class Servlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       IPersonService service;

    public Servlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    @Override
    public void init(){
        service=new PersonService();
    }
    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        service.getAll();
    }


我已经尝试了一切... ps。 PersonService来自一个外部项目,我有一个参考。我在他自己的projet中对其进行了测试,并且可以正常工作,但是当我想在servlet中使用它时,我会感到很奇怪。

Caused by: java.lang.NoClassDefFoundError: LBusinessInterfaces/IPersonService;
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Unknown Source)
    at java.lang.Class.getDeclaredFields(Unknown Source)
    at org.apache.catalina.util.Introspection.getDeclaredFields


请有人帮忙

最佳答案

您需要具有包含业务接口(PersonService)的外部依赖项jar。进入servlet容器。应该是容器的“ lib”文件夹,或者应该在项目的“ WEB-INF / lib”文件夹中找到它。

本文翻译自 https://stackoverflow.com/questions/39456575/

网站遵循 CC BY-SA 4.0 协议,转载或引用请注明出处。


相关文章:

java - 什么会失败WifiP2pManager.connect?

java - 为什么合并排序对反向排序列表的排序比普通排序列表快?

java - 如何减少Web应用程序中用于perm gen的内存

java - 创建spring MockHttpServletResponse时出错,即使添加javax.servet-api依赖项后也缺少MissingResourceException

go - google / wire:这是Singleton模式的用例吗?

java - 在必须创建基础对象的实例的同时使用接口注入

java - 为什么Web容器可以管理servlet? [关闭]

java - 为什么log4j2中有那么多jar?

java - Google App Engine Blobstore图片

php - 如何在Laravel之外使用Laravel的IOC容器进行方法注入