Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法使用JSP从mySQL数据库获取数据_Java_Html_Mysql_Jsp_Jstl - Fatal编程技术网

Java 无法使用JSP从mySQL数据库获取数据

Java 无法使用JSP从mySQL数据库获取数据,java,html,mysql,jsp,jstl,Java,Html,Mysql,Jsp,Jstl,我试图用JSP从数据库中检索数据,并将它们投影到html页面。我使用ServletScriptlet,但发现JSTL是一种更好的方法,所以我选择了它。问题是,编译页面时确实返回错误:源服务器没有找到目标资源的当前表示形式,或者不愿意透露该表示形式存在 我试着用标准java从同一个数据库中获取数据,结果成功了。。。但在这里,情况并非如此。我的特定页面的源代码是: <%@ page contentType="text/html;charset=UTF-8" language="java" %&

我试图用JSP从数据库中检索数据,并将它们投影到html页面。我使用ServletScriptlet,但发现JSTL是一种更好的方法,所以我选择了它。问题是,编译页面时确实返回错误:源服务器没有找到目标资源的当前表示形式,或者不愿意透露该表示形式存在

我试着用标准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文件夹中,所以现在它显示了表,但没有值。。。奇怪的是,我上面的两个查询…

您还没有在文件中导入标记库

到页面的顶部

此外,您的表有5列,但只有4个标题列


您可以删除添加它们给我带来的语法错误:无法使用uri解析taglib。。。。像那样。。。我还添加了这个列,现在我的页面显示了我第一次遇到的问题。您使用的是什么servlet容器?servlet 4.0和tomcat 9.0.xYou可能在类路径中缺少JSTL jar。将jstl jar添加为项目依赖项,或者将jstl jar添加到Tomcat lib文件夹。
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>