みなさん、お疲れ様でした
Glassfish3.1.2でインポートされたjarファイルが表示されるのを防ぐのに問題があります。これは私の卒業生のプロジェクトなので、制約があります。Glassfish、Netbeans以外は使用できず、Maven、Hibernate、Earなどは使用できません。
組み込みのDerbyドライバーを使用しています。(別のDBを使用できますが、私の試行では問題が残っています)。
DBに接続するためのプレーンなJavaコードをいくつか作成しました。
try{
Connection c = DriverManager.getConnection(URL, USER, PWD);
Statement st = c.createStatement();
st.executeUpdate("CREATE TABLE Users" +
" (ACCOUNT VARCHAR(20) PRIMARY KEY," +
" PWD VARCHAR(20) NOT NULL," +
" USERTYPE INTEGER NOT NULL)");
...
}
catch (SQLException x){
System.out.println(x);
}
それは醜いです、それは接続プールを使用しません、それは働きます。後で使用します。明らかに、私はderbyclient.jarをライブラリに追加する必要がありました。
サーブレット内でこのメソッドを使用しようとすると、問題が発生します。
protected void processRequest(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
try{
DriverManager.registerDriver(org.apache.derby.jdbc.ClientDriver);
Connection c = DriverManager.getConnection(dbUsr, pwd, url);
Statement st = c.createStatement();
ResultSet rs = st.executeQuery(query);
...
}catch (SQLException e){
ServletException e1 = new ServletException(e.getMessage());
throw e1;
}
「パッケージorg.apache.derby.jdbcが存在しない」ため、サーブレットをコンパイルできません。
私はいくつかのより多くの情報を提供することができます(20時間以上の読書と失敗した試験):
- サーブレットとJavaコードは同じプロジェクトにあるため、derbyclient.jarは両方に表示されるはずです。
- org.apache.berbyを作成すると、netbeansはオートコンプリート用のパッケージナビゲーターを表示するので、どこかにjarがあることがわかります。
- derbyclient.jarを中に入れようとしました:
- Glassfish / glassfish / domains / domain1 / lib
- Glassfish / glassfish / domains / domain1 / lib / ext
- Glassfish / glassfish / lib
- ドライバー登録なしで試してみましたが、Javaコードはドライバー登録なしで動作しますが、「javax.servlet.ServletException:アプリに適したドライバーが見つかりません」というメッセージが表示されます。合理的だと思います。
私は私の知恵の終わりにいます。誰かが助けてくれますか?
編集:
昨日、先生からニュースが届きました。彼女は、NetbeansIDEがjarファイルを追跡できなくなったと非難しています。既知のバグのようです。
私はTomcatサーバーに切り替えるように暖かく勧められました。私はきっとそれを試してみます、しかし私はこの問題を解決するために働き続けます。他に良いアイデアはありますか?