前提・実現したいこと
実行環境
- Amazon Linux 2(AWS EC2)
- Tomcatバージョン:Apache Tomcat/9.0.30
JSPアプリケーションを大学の実験講義で作成していました.
実験の際は,準備されたCentOSのコンピュータを用いていたのですが,自分のAWS EC2の環境でも動くようにしたいと思い,このサイトを参考にしてTomcat環境を構築して,サーブレットプログラムなどをコンパイル後実行したのですが,下の「エラーメッセージ」に記載したようなエラーメッセージが表示されてしまいました.
エラーメッセージ
以下,アプリケーションにおいて表示されているエラーメッセージです.
例外が発生しました:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
試したこと
ネットで原因が何か調べて,自分の環境を見直したところ,どうやらMySQL Connectorがないようだったので手動でMySQLの公式ページからZIPファイルを入手・展開して「mysql-connector-java-8.0.19.jar」を(Amazon Linux2内のディレクトリ)/opt/tomcat/lib内に置きました.そして,下記のようなドライバのロードが成功しているか確かめるようなJavaプログラムを「mysql-connector-java-8.0.19.jar」の場所をクラスパスで指定しコンパイルして動かしましたが,ドライバのロードに失敗したとの表示が出てしまいます.
ネットでいろいろ検索しましたが解決に至らず,この場で質問させていただきました.
どうすればJDBCドライバをロードしてくれるのでしょうか?
ドライバのロードが成功しているか確かめるプログラムのソースコード
Java
1import java.io.*; 2import javax.servlet.*; 3import javax.servlet.http.*; 4 5public class DatabaseTest extends HttpServlet { 6 public void doGet(HttpServletRequest request, HttpServletResponse response) 7 throws IOException, ServletException{ 8 9 response.setContentType("text/html; charset=Shift_JIS"); 10 PrintWriter out = response.getWriter(); 11 12 out.println("<html>"); 13 out.println("<head>"); 14 out.println("<title>データベーステスト</title>"); 15 out.println("</head>"); 16 out.println("<body>"); 17 18 String msg = ""; 19 try { 20 Class.forName("com.mysql.jdbc.Driver").newInstance(); 21 msg = "ドライバのロードに成功しました"; 22 }catch (ClassNotFoundException e){ 23 msg = "ドライバのロードに失敗しました"; 24 }catch (Exception e){ 25 msg = "ドライバのロードに失敗しました"; 26 } 27 28 out.println("<p>"); 29 out.println(msg); 30 out.println("</p>"); 31 32 out.println("</body>"); 33 out.println("</html>"); 34 } 35}
XML
1<?xml version="1.0" encoding="ISO-8859-1"?> 2<web-app xmlns="http://java.sun.com/xml/ns/j2ee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 5 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 6 version="2.4"> 7 8 <servlet> 9 <servlet-name>databasetest</servlet-name> 10 <servlet-class>DatabaseTest</servlet-class> 11 </servlet> 12 13 <servlet-mapping> 14 <servlet-name>databasetest</servlet-name> 15 <url-pattern>/databasetest</url-pattern> 16 </servlet-mapping> 17</web-app>
XML
1<Context path="/database" 2docBase="/opt/tomcat/webapps/database"/>
補足情報(FW/ツールのバージョンなど)
...
回答1件
あなたの回答
tips
プレビュー