如何将derby数据库连接到jsp项目

时间:2019-05-08 15:05:06

标签: database jsp netbeans derby

我正在尝试使用Apache Tomcat服务器建立从derby数据库到JSP项目的连接。

我创建了数据库并手动添加了一些条目。看来我无法连接到数据库:

enter image description here

该表已正确显示,但未生成任何条目。

驱动程序,用户名和密码正确。

我不确定

<sql:query dataSource="${mydb}" var="result">
            SELECT * FROM KUNDEN;
</sql:query>

部分正确。

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>This is my title</title>
        <sql:setDataSource url="jdbc:derby://localhost:1527/Shop" var="mydb" 
                           driver="org.apache.derby.jdbc.ClientDriver" user="root" password="password"/>
        <sql:query dataSource="${mydb}" var="result">
            SELECT * FROM KUNDEN;
        </sql:query>
    </head>
    <body>
        <p>Testing Java: <% out.print("Welcome to Ninja Loot"); %>!</p>

        <table border="1" width="100%">
            <tr>
                <th>KID</th>
                <th>Name</th>
                <th>Strasse</th>
                <th>PLZ</th>
                <th>Ort</th>
            </tr>
            <c:forEach items="${kundenList}" var='kunden'>
                <tr>
                    <td>
                        <c:out value="${kunden.id}"/>
                    </td>
                    <td>
                        <c:out value="${kunden.name}"/>
                    </td>
                    <td>
                        <c:out value="${kunden.strasse}"/>
                    </td>        
                    <td>
                        <c:out value="${kunden.plz}"/>
                    </td>    
                    <td>
                        <c:out value="${kunden.ort}"/>
                    </td>    
                </tr>
            </c:forEach>
        </table>
    </body>
</html>

1 个答案:

答案 0 :(得分:0)

看来这是不正确的: <c:forEach items="${kundenList}" var='kunden'>

您将SQL结果存储到的变量称为result:

 <sql:query dataSource="${mydb}" var="result">

这意味着您需要设置要访问的“结果集”,以引用“结果”变量中的行,如下所示:

<c:forEach items="${result.rows}" var='kunden'>

该行的var名称仍然可以是'kunden',您可以在下面的代码中使用相同的名称。