<%
にコードを書き込むとjavax.naming
を使用できますが、<%!
にコードを書き込むと、javax.naming
が存在しないというエラーが表示されます。JSP javaコードでは、<%!で使用すると "javax.naming"は存在しません。
いくつかの例:
<% Javax.naming.InitialContext ic = new Javax.naming.InitialContext(); %> fine
<%! void foo() { Javax.naming.InitialContext ic2 = new Javax.naming.InitialContext(); } %> error
正確なエラー:
rptCountsRecon_jsp.java:22: package Javax.naming does not exist
Javax.naming.Context init = new Javax.naming.InitialContext();
私は、Javaにsortof新しいですし、JSPに非常に新しいです。
EDIT:2番目の例にfooメソッドを追加しました。これは、私の問題を理解する助けになる可能性があるためです。 Tomcatからの正確なエラーも追加されました。 EDIT 2:接頭辞をContextに追加しようとしましたが、同様のエラーが発生しました。
EDIT 3:すべてのこのタイプのコードの
try
{
javax.naming.Context init = new javax.naming.InitialContext();
Context ctx = (Context) init.lookup("java:comp/env");
String jndiName = getServletContext().getInitParameter("jndiName");
DataSource ds = (DataSource) ctx.lookup(jndiName);
Connection dbConn = ds.getConnection();
PreparedStatement pstmnt = dbConn.prepareStatement(sql);
for(int i=0; i!=binds.size(); ++i)
pstmnt.setString(i+1, binds.elementAt(i)); //binds index starts at 1 -_-
return pstmnt.executeQuery();
} catch (Exception e) {
//out.println("A naming exception occured... I don't know how to get the info of it.");
return null;
}
rptCountsRecon_jsp.java:28: unreported exception java.sql.SQLException; must be caught or declared to be thrown
Connection dbConn = ds.getConnection();
例外メッセージを投稿してください。 –
私は、正確な問題は、一連の修正によって解決されましたが、現在は新しい例外が発生しています。 –
新たな問題は新しい質問になるはずです。あなたの最初の問題は解決されました(パッケージルートとして 'javax'の代わりに' Javax'を使って編集中に自分自身を悪化させたとしても)。 – BalusC