最初にサーバーとして tomcat を使用して derby データベースに接続するためにconf/context.xml
、Tomcatに以下を追加しました。
<Resource name="jdbc/PollDatasource" auth="Container" type="javax.sql.DataSource"
driverClassName="org.apache.derby.jdbc.ClientDriver"
url="jdbc:derby://localhost:1527/poll database;create=true"
username="suhail" password="suhail"
maxActive="20" maxIdle="10" maxWait="-1" />
およびプロジェクトのResource-ref
web.xml のタグ。WEB-INF/web.xml
<resource-ref>
<description>my connection</description>
<res-ref-name>jdbc/PollDatasource</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
しかし、データベースに接続する必要があるサーブレットを実行すると、次のステートメントが表示されます。
connection = dataSource.getConnection();
例外が発生しました:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
この例外の理由はまだわかりません。
例外の後、TomcatResource
からタグを削除し、プロジェクトの に配置しました。conf/context.xml
META-INF/context.xml
サーブレットを再試行したところ、例外なく機能しました。
Resource
タグをグローバル context.xml ファイル内(つまり、conf/context.xml 内)に配置すると例外が発生するのに、アプリケーション固有の context.xml内にタグを配置すると例外が発生しない理由は何でしょうか? ?. (つまり、META-INF/context.xml 内)