0

derbyを使用してデータベースに接続するために、コアApache Derbyデータベースエンジン(バージョン:10.9.1.0)のjarTomcatファイルをダウンロードしました。このjarファイルをTomcatのフォルダーの下に保存しました。lib

ここに画像の説明を入力してください

今、私はのに以下を追加するように言われましcontext.xmlTomcat

<Resource name="jdbc/PollDatasource" auth="Container" type="javax.sql.DataSource"
    driverClassName="org.apache.derby.jdbc.EmbeddedDriver" 
    url="jdbc:derby://localhost:1527/polldatabase;create=true"
    username="suhail" password="suhail"
    maxActive="20" maxIdle="10" maxWait="-1" />
  • このタグは何をしますか?私はそれが何を意味するのですか?

  • ダウンロードしたjarファイルにはパターンorg.apache.derby.jdbc.EmbeddedDriverが含まれていますが、このタグでダウンロードしたjarについて言及していますか?タグにアーカイブの名前を追加する必要はありませんか?

4

1 に答える 1

3

jarをTomcatlibフォルダーの下に置くと、Tomcatはそれを自動的にロードしてクラスパスに入れ、Tomcatで実行されているすべてのアプリケーションがこのjarを認識できるようにします。

XMLでの定義は、単にデータソースを定義したことを意味します。データソースは、アプリケーションサーバーでDB接続プールを管理するために使用されるため、その必要はありません。プレーンJDBCを使用する代わりに、データソースを使用することをお勧めします。

定義したxmlで:driverClassName="org.apache.derby.jdbc.EmbeddedDriver"そしてこのクラスを含むドライバーjarをlibフォルダーに置くと、jarがどこにあるかを指定しなくても、どこを探すべきかがわかります。

私が言ったように、tomcatの下のすべてのアプリケーションがこのjarを知っているので、Tomcat libの下にjarを置くことが常に最良の解決策であるとは限らないことに注意してください。また、別のバージョンでこのjarをすでに使用しているアプリケーションがある場合は、競合します。

より良い解決策は、jarをWEB-INF / libの下に置くことであり、そうすれば、このアプリケーションだけがjarを認識します。

于 2012-07-17T09:44:55.557 に答える