前提・実現したいこと
教材を用いて、jspファイルからデータベース接続、データのやり取りを行うプログラムを作成したのですが、DB接続まではうまくいくのですが、
ResultSet result = state.executeQuery
の文で必ずエラーが発生してしまいます。
誤入力などもないように思えるのですが、なぜこれが出てしまうのかわからない状況です。。
誰かご助言願えないでしょうか。
お手数をおかけしますが、よろしくお願いします。
発生している問題・エラーメッセージ
※エラー該当部分のstate.executeQuery以降のSQL文を変更しても
同じエラーが出てきてしまいます。。
該当DBはEclipseからは切断しているのですが、
それでもエラーは消えてくれない状況です。
HTTPステータス 500 - Internal Server Error The server encountered an unexpected condition that prevented it from fulfilling the request. 例外 org.apache.jasper.JasperException: An exception occurred processing JSP page /sampleJSP.jsp at line 14 9: Connection users = DriverManager.getConnection 10: ("jdbc:derby:¥Users¥yu¥MyDB;create=true"); 11: Statement state = users.createStatement(); 12: //ResultSet result = state.executeQuery 13: // ("create table Users (id varchar(20) primary key, password varchar(20))"); 14: ResultSet result = state.executeQuery("SELECT * FROM Users"); 15: String html = "<table border=\"1\">";
該当のソースコード
// sampleJSP.jsp <%-- pageディレクティブで言語、キャラクタセット、コンテンツの種類を設定--%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*"%> <% Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); Connection users = DriverManager.getConnection ("jdbc:derby:¥Users¥yu¥MyDB;create=true"); Statement state = users.createStatement(); //ResultSet result = state.executeQuery // ("create table Users (id varchar(20) primary key, password varchar(20))"); ResultSet result = state.executeQuery("SELECT * FROM Users"); String html = "<table border=\"1\">"; html += "<tr><td>ID</td><td>パスワード</td></tr>"; /*while (result.next()) { String id = result.getString("id"); String pass = result.getString("password"); html += "<tr><td>" + id + "</td>"; html += "<td>" + pass + "</td></tr>"; }*/ html += "</table>"; result.close(); state.close(); users.close(); %> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset="utf-8"> <title>Database Access</title> <style> h1 { font-size: 14pt; font-weight:bold; background-color:#DDF; padding:3px; } </style> </head> <body> <h1>データベースにアクセス</h1> <h2>データの一覧</h2> <%=html %>> <hr> <h2>ユーザの追加</h2> <form action="./AddUser" method="POST"> <table> <tr> <td>ログイン</td> <td><input type="text" name="id"></td> </tr> <tr> <td>パスワード</td> <td><input type="password" name="pass"></td> </tr> <tr> <td></td> <td><input type="submit" value="送信"></td> </tr> </table> </form> <hr> <h2>ユーザの削除</h2> <form action="./DelUser" method="POST"> <table> <tr> <td>ログイン</td> <td><input type="text" name="id"></td> </tr> <tr> <td></td> <td><input type="submit" name="送信"></td> </tr> </table> </form> </body> </html>
試したこと
・該当SQL文の内容をCREATE文などに変更
・データベースのEclipseからの接続、切断をした状況でそれぞれ確認
補足情報(FW/ツールのバージョンなど)
Eclipse IDE 2020-12
Tomcat v8.0 サーバー
回答1件
あなたの回答
tips
プレビュー