質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JDBC

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

3473閲覧

JDBCドライバがロードできない

Hiro21

総合スコア5

JDBC

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2020/01/23 08:38

編集2020/01/23 08:39

前提・実現したいこと


実行環境

  • 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/ツールのバージョンなど)

...

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yureighost

2020/01/23 10:53

Exceptionのエラー内容はどうなってますか? スタックトレースを出力して確認してみてください。
guest

回答1

0

ベストアンサー

アプリケーション固有で必要なjarファイルは、WEB-INF/libディレクトリに配置するのだとおもいます。参考までに、exapmlesの内容をば。

$ tar xvzf apache-tomcat-7.0.99.tar.gz $ ls apache-tomcat-7.0.99/webapps/examples/WEB-INF/lib/ taglibs-standard-impl-1.2.5.jar taglibs-standard-spec-1.2.5.jar

投稿2020/01/25 12:07

shiketa

総合スコア3971

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Hiro21

2020/01/26 12:39 編集

回答ありがとうございます! 返事をするのが遅くなってしまい申し訳ありません。 先ほどWEB-INF/libディレクトリに配置してコンパイル・実行したところ無事ロードできました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問