无法从JSP连接Neo4j
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法从JSP连接Neo4j相关的知识,希望对你有一定的参考价值。
我试图通过在JSP中使用Neo4j在Java中执行查询来显示查询的值。我在Eclipse中创建了一个动态Web项目,并添加了以下Java代码并添加了
Neo4j的-JDBC驱动程序-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时,它说
没有适合“jdbc:neo4j:http://localhost:7474/browser/”的驱动程序
我的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中执行和显示值。
答案
你应该从Neo4j发布库here获得带有依赖关系的完整jar。即:下载neo4j-jdbc-2.3.2-jar-with-dependencies.jar
文件并将其添加到您的类路径中。
以上是关于无法从JSP连接Neo4j的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Neo4j JDBC 驱动程序与 DbVisualizer 连接
无法从 jsp 调用 servlet 文件 - 发现 404 错误 [重复]
当我尝试从 JSP 建立与 DB 的连接时,出现错误“TNS:无法解析指定的连接标识符”