无法从JSP连接Neo4j

时间:2018-03-06 16:51:28

标签: java jsp neo4j

我试图通过在JSP中使用Neo4j在Java中执行查询来显示查询的值。我在Eclipse中创建了一个动态Web项目,并添加了以下Java代码并添加了

  

neo4j-jdbc-driver-3.3.0.jar

在我的构建路径中。我在下面写的代码是Java。

package com.market.basket;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.LinkedList;

public class marketbasketdao {

public LinkedList<String> selectAll() {
LinkedList<String> products = new LinkedList<String>();
try (Connection con = 
DriverManager.getConnection("jdbc:neo4j:http://localhost:7474/browser/", 
"neo4j", "asdf")) {
String query = "MATCH (N:PRODUCT) RETURN N.productid limit 20";
    try (PreparedStatement stmt = con.prepareStatement(query)) {
           try (ResultSet rs = stmt.executeQuery()) {
           while (rs.next()) {
                System.out.println(rs.getString("N.productid"));
                products.add(rs.getString("N.productid"));
            }
        }
    }
} catch (Exception e1) {
e1.printStackTrace();
}return products;
    }
 }

如果我添加一个main方法并调用selectAll(),我会在Eclipse Console中获得相应的值。

但是当我尝试调用JSP时,它说

  

没有合适的驱动程序&#34; jdbc:neo4j:http://localhost:7474/browser/&#34;

我的JSP很简单,代码如下。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" import = "com.market.basket.marketbasketdao ,    
java.util.* " %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
 marketbasketdao dao = new marketbasketdao();
 LinkedList<String> list = dao.selectAll();
 for(int i=0; i<list.size() ; i++){
%>
<%= list.get(i) %>
<% 
}
 %>
</body>
</html>

请帮助我理解为什么我无法在JSP中执行和显示值。

1 个答案:

答案 0 :(得分:0)

您应该从Neo4j发布存储库https://spark.apache.org/docs/latest/submitting-applications.html获取具有依赖关系的完整jar。即:下载neo4j-jdbc-2.3.2-jar-with-dependencies.jar文件并将其添加到类路径中。