前提・実現したいこと
参考書Eclipse4.7でJAVAプログラミングを勉強しています。
7.2「JSP/サーブレットからのJDBCの利用」の章にある
SQLの管理用ページの作成のプログラム「list7.1_admin.jsp」が内部Webブラウザで実行表示されません。
実行中に以下のエラーメッセージが発生しました。
よろしくお願いいたします。
発生している問題・エラーメッセージ
情報: Server version: Apache Tomcat/9.0.8 [金 7 06 16:21:22 JST 2018] 情報: Server built: Apr 27 2018 19:32:00 UTC [金 7 06 16:21:22 JST 2018] 情報: Server number: 9.0.8.0 [金 7 06 16:21:22 JST 2018] 情報: OS Name: Windows 10 [金 7 06 16:21:22 JST 2018] 情報: OS Version: 10.0 [金 7 06 16:21:22 JST 2018] 情報: Architecture: amd64 [金 7 06 16:21:22 JST 2018] 情報: Java Home: C:\pleiades\eclipse\jre\jre [金 7 06 16:21:22 JST 2018] 情報: JVM Version: 1.8.0_162-b12 [金 7 06 16:21:22 JST 2018] 情報: JVM Vendor: Oracle Corporation [金 7 06 16:21:22 JST 2018] 情報: CATALINA_BASE: C:\pleiades\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0 [金 7 06 16:21:22 JST 2018] 情報: CATALINA_HOME: C:\Program Files\Apache Software Foundation\Tomcat9.0.8 [金 7 06 16:21:22 JST 2018] 情報: Command line argument: -Dcatalina.base=C:\pleiades\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0 [金 7 06 16:21:22 JST 2018] 情報: Command line argument: -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat9.0.8 [金 7 06 16:21:22 JST 2018] 情報: Command line argument: -Dwtp.deploy=C:\pleiades\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps [金 7 06 16:21:22 JST 2018] 情報: Command line argument: -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat9.0.8\endorsed [金 7 06 16:21:22 JST 2018] 情報: Command line argument: -Dfile.encoding=UTF-8 [金 7 06 16:21:22 JST 2018] 情報: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\pleiades\eclipse\jre\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/pleiades/eclipse/jre/bin/../jre/bin/server;C:/pleiades/eclipse/jre/bin/../jre/bin;C:/pleiades/eclipse/jre/bin/../jre/lib/amd64;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;%JAVA_HOME%bin;C:\Program Files\MySQL\MySQL Workbench 8.0 CE;C:\WINDOWS\System32\OpenSSH\;%CATALINA_HOME%\bin;C:\Program Files\MySQL\MySQL Router 8.0\bin;C:\Users\Owner\AppData\Local\Microsoft\WindowsApps;;C:\pleiades\eclipse;;.] [金 7 06 16:21:22 JST 2018] 情報: Initializing ProtocolHandler ["http-nio-8080"] [金 7 06 16:21:22 JST 2018] 情報: Using a shared selector for servlet write/read [金 7 06 16:21:22 JST 2018] 情報: Initializing ProtocolHandler ["ajp-nio-8009"] [金 7 06 16:21:22 JST 2018] 情報: Using a shared selector for servlet write/read [金 7 06 16:21:22 JST 2018] 情報: Initialization processed in 811 ms [金 7 06 16:21:22 JST 2018] 情報: サービス [Catalina] を起動します [金 7 06 16:21:22 JST 2018] 情報: Starting Servlet Engine: Apache Tomcat/9.0.8 [金 7 06 16:21:22 JST 2018] 情報: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. [金 7 06 16:21:28 JST 2018] 情報: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. [金 7 06 16:21:32 JST 2018] 情報: Starting ProtocolHandler ["http-nio-8080"] [金 7 06 16:21:32 JST 2018] 情報: Starting ProtocolHandler ["ajp-nio-8009"] [金 7 06 16:21:32 JST 2018] 情報: Server startup in 10455 ms [金 7 06 16:21:32 JST 2018] 重大: Servlet.service() for servlet [jsp] in context with path [/SampleSQL] threw exception [An exception occurred processing [/list7.1_admin.jsp] at line [6] 3: 4: <%@ page import="java.sql.*" %> 5: <% 6: Class.forName("com.mysql.jdbc.Driver"); 7: Connection users = DriverManager.getConnection("jdbc:mysql://localhost/MyServlet_DB","root","各自のパスワードを指定"); 8: Statement state = users.createStatement(); 9: ResultSet result = state.executeQuery("select * from Users"); Stacktrace:] with root cause [金 7 06 16:21:34 JST 2018]
該当のソースコード list7.1_admin.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <% Class.forName("com.mysql.jdbc.Driver"); Connection users = DriverManager.getConnection("jdbc:mysql://localhost/MyServlet_DB","root","各自のパスワードを指定"); Statement state = users.createStatement(); 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>Myデータベースにアクセス</h1> <h2>データの一覧</h2> <%= html %> <hr> <h2>ユーザの追加</h2> <form action = "./AddUser" method="post"> <table> <tr><td>ログインID</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>ログインID</td><td><input type="text" name="id"></td></tr> <tr><td></td><td><input type="submit" value="送信"></td></tr> </table> </form> </body> </html>
試したこと
6行目あたりで例外が発生しているみたいですが、英語が苦手のためおてあげです。
7行目「各自のパスワードを指定」に実際のパスワードを打ち込んでみましたが、変わりませんでした。
補足情報(FW/ツールのバージョンなど)
動的web プロジェクト
ターゲット・ランタイム Apache Tomcat9.0.8
動的webモジュールバージョン 3.0
構成 Apache Tomcat v9.0.8デフォルト構成
Java
デフォルト出力フォルダー build\classes
webモジュール
コンテキスト・ルート SampleSQL
コンテンツ・ディレクトリ WebContent\SampleSQL
web.xmlディプロイメント記述子の生成 off
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/07/06 08:42