gpt4 book ai didi

java - Servlet 中的 Neo4j 数据库

转载 作者:太空宇宙 更新时间:2023-11-04 14:41:26 26 4
gpt4 key购买 nike

我有一个 servlet,想连接到 Neo4j 数据库。这样我就可以通过 Internet 从我的应用程序访问数据库。但是 servlet 报错了?难道我做错了什么?

这是我的 servlet 代码。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws     ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("Hello World");

GraphDatabaseService graphDB = new GraphDatabaseFactory().newEmbeddedDatabase("C:\\Users\\Sourav\\Desktop\\db1");
}

这是网页返回的错误。

HTTP Status 500 - Servlet execution threw an exception

type Exception report

message Servlet execution threw an exception

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception
root cause

java.lang.NoClassDefFoundError: org/neo4j/graphdb/factory/GraphDatabaseFactory
hello.hello.doGet(hello.java:45)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

最佳答案

您需要使用 Neo4j 的 REST api。如果您通过互联网访问 Neo4j(未嵌入您的程序),这是使用 Neo4j 的标准方式。

你会想关注 this tutorial它向您展示了如何将 Neo4j 设置为具有 REST api 的服务器。

就我个人而言,我认为使用嵌入在 Java 中的它要容易得多。如果您将其创建为嵌入式 Java 数据库,则应执行如下操作:

GraphDatabaseService dbService = new EmbeddedGraphDatabase(DB_PATH);

但是,您应该只在程序启动时执行一次。所以在程序启动时实例化它并只使用对它的静态引用。 (或者更好的是,使用 Spring 并在任何需要的地方 Autowiring Neo4jOperations。或者最重要的是,使用 Spring Data Neo4j!)

关于java - Servlet 中的 Neo4j 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15595548/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com