JSFアプリケーションで作業し、Beanを使用してデータベースに対していくつかの資格情報をチェックしてユーザーを認証するページにアクセスします。
ページのロード時に Tomcat エラーが発生します。
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:188)
DB.init(DB.java:27)
Login.<init>(Login.java:19)
をダウンロードしmysql-connector-java-5.1.24-bin.jar
て、ビルド パスに追加しました。次のようなプロパティ ファイルの形式で詳細を読み込んでいます。
jdbc.url=jdbc:mysql://127.0.0.1:3306
jdbc.user=root
jdbc.password=
jdbc.driver=com.mysql.jdbc.Driver
ログインまたは DB ファイルで問題なく実行できるimport com.mysql.jdbc.Driver
ため、Web アプリでクラスの読み込みに問題がある理由がわかりません。
DB.java ファイルは次のとおりです。
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class DB {
private static String url;
private static String username;
private static String password;
public static void init() throws IOException, ClassNotFoundException{
Properties props = new Properties();
FileInputStream in = new FileInputStream("/home/dan/workspace/DeutschAkademie/WebContent/db.prop");
props.load(in);
String driver = props.getProperty("jdbc.driver");
url = props.getProperty("jdbc.url");
username = props.getProperty("jdbc.username");
password = props.getProperty("jdbc.password");
if(username == null) username = "";
if(password == null) password = "";
Class.forName(driver);
}
public static Connection getConnection () throws SQLException {
return DriverManager.getConnection(url, username, password);
}
}
私のプロジェクトディレクトリ:
.
├── build
│ └── classes
│ ├── DB.class
│ ├── Login.class
│ └── User.class
├── database.sql
├── mysql-connector-java-5.1.24-bin.jar
├── src
│ ├── DB.java
│ ├── Login.java
│ └── User.java
└── WebContent
├── add-user.xhtml
├── css
│ ├── bootstrap.min.css
│ ├── button.css
│ ├── font-awesome.css
│ ├── font-awesome-ie7.min.css
│ ├── font-awesome.min.css
│ ├── global.css
│ └── typography.css
├── css.xhtml
├── db.prop
├── font
├── history.xhtml
├── home.xhtml
├── login.xhtml
├── META-INF
│ └── MANIFEST.MF
├── navbar.xhtml
├── test.xhtml
├── WEB-INF
│ ├── faces-config.xml
│ ├── inc
│ ├── lib
│ │ ├── javax.faces-2.1.9.jar
│ │ └── mysql-connector-java-5.1.24-bin.jar
│ └── web.xml
└── words.xhtml