現在、MySQL サーバーに接続しようとしています。私の目標は、実行時にいくつかのテーブル データを表示するサーブレットを作成することです。私のサーベルトはグラスフィッシュ 3.1で実行されています。
簡単なdoGetメソッドを次に示します。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.print("<h1>select * from userName:<h1>");
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/people", "root", "r00tpw");
System.out.println("Connected");
PreparedStatement statement = (PreparedStatement) conn.prepareStatement("select * from userName");
ResultSet result = statement.executeQuery();
while(result.next()) {
out.print(result.getString(0));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
正しい JDBC ドライバーを入手しました。私が抱えている問題は、ソースコードがそれを見つけることです。JRE System Library->Build Path->Configure Build Pathを右クリックして、外部 JAR を追加しようとしました。JAR を参照ライブラリに追加するのではなく、ライブラリの範囲外に追加されているようです。これは、Class.forName("com.mysql.jdbc.Driver");
常に ClassNotFoundException をスローしていることを意味します。
また、[pcname]-> Classpath-> User Entries で実行構成 -> Glassfish 3.1 にJAR を追加しようとしましたが、うまくいきませんでした。
MS SQL Server とその JDBC ドライバーも使用してみました。同じことが起こります。
役立つように、プロジェクト構造の画像を添付しました。