Как подключить базу данных derby к проекту jsp - PullRequest
2 голосов
/ 08 мая 2019

Я пытаюсь установить соединение между базой данных derby и проектом JSP, используя сервер Apache Tomcat.

Я создал базу данных и вручную добавил несколько записей.Кажется, я не могу получить соединение с БД:

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 голосов
/ 08 мая 2019

Похоже, что это неправильно: <c:forEach items="${kundenList}" var='kunden'>

Ваша переменная, в которой вы сохранили результат SQL, называется result:

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

Это означает, что вам нужно установить«набор результатов», к которому вы обращаетесь, чтобы ссылаться на строки в переменной «result», например:

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

Имя переменной для строки все еще может быть «kunden», и вы можете ссылаться на негото же самое ниже в коде.

...