我试图通过在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中执行和显示值。
答案 0 :(得分:0)
您应该从Neo4j发布存储库https://spark.apache.org/docs/latest/submitting-applications.html获取具有依赖关系的完整jar。即:下载neo4j-jdbc-2.3.2-jar-with-dependencies.jar
文件并将其添加到类路径中。