我正在尝试用JSP从我的数据库中检索数据,并将它们投影到一个html页面上。我使用的是servlet scriptlet,但发现JSTL是更好的方法,所以我选择了它。问题是在编译时,页面确实会返回一个错误:The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
我试着用标准的java从同一个数据库中获取数据,结果成功了……但在这里却不是。我的特定页面的源代码是:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page import="java.sql.*" %>
<%@page import="java.lang.String" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Main Menu</title>
</head>
<style>
body {
background-color: lightblue;
}
</style>
<sql:setDataSource var = "snapshot" driver = "com.mysql.jdbc.Driver"
url = "jdbc:mysql://127.0.0.1:3306/CARDATA"
user = "toomlg4u"/>
<sql:query dataSource = "${snapshot}">USE CARDATA;</sql:query>
<sql:query dataSource = "${snapshot}" var = "result">
SELECT * FROM Users;
</sql:query>
<table border = "1" width = "100%">
<tr>
<th>ID</th>
<th>Full Name</th>
<th>Password</th>
<th>Email</th>
</tr>
<c:forEach var = "row" items = "${result.rows}">
<tr>
<td> <c:out value = "${row.userId}"/></td>
<td> <c:out value = "${row.realName}"/></td>
<td> <c:out value = "${row.userName}"/></td>
<td> <c:out value = "${row.passWord}"/></td>
<td> <c:out value = "${row.email}"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>
感谢您的每一点帮助!
附言:这只是一个小项目,不是什么专业的东西。
编辑
我将jconnector复制到了$CATALINA_HOME的lib文件夹中,所以现在它显示了表,但没有值……奇怪的是,我上面的两个问题...
发布于 2018-06-15 04:25:50
您尚未在文件中导入标记库
添加
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
添加到页面的顶部。
此外,您的表有5列,但只有4个标题列。
您也可以移除<%@页面导入标签
https://stackoverflow.com/questions/50864132
复制相似问题