我如何使用Servlet的依赖项?

时间:2016-09-12 18:31:15

标签: 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来自一个外部项目,我有参考。我在他自己的项目中测试它,它的工作原理,但是当我想在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

有人请帮忙

1 个答案:

答案 0 :(得分:1)

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