web-dev-qa-db-ja.com

MySQLに接続するようにTomcatを構成する方法

MySQLにアクセスするようにTomcatを構成する方法について、誰かがいくつかの詳細を提供できますか?

  1. Tomcat内のどのディレクトリにmysql-connector-Java-5.1.13-binを配置しますか? Tomcat 6.0\webapps\myapp\WEB-INF\libの下に配置する必要がありますか?

  2. context.xmlまたはserver.xmlに構成を追加する必要がありますか?

  3. web.xmlファイルを作成してTomcat 6.0\webapps\myapp\WEB-INFの下に配置する必要がありますか?もしそうなら、このファイルの内容はどのように見えるべきですか?

18
Sohail

1:_mysql-connector-Java-5.1.13-bin_をTomcatディレクトリのどこに配置しますか? _Tomcat 6.0\webapps\myapp\WEB-INF\lib_の下に配置する必要がありますか?

これは、接続を管理する場所によって異なります。通常、接続のパフォーマンスを向上させるために、接続プールされたJNDIデータソースを作成します。その場合、Tomcatは接続を管理しており、JDBCドライバーにアクセスできる必要があります。次に、JARファイルを_Tomcat/lib_にドロップします。

ただし、基本的な方法で DriverManager#getConnection() を使用している場合は、実際に_Tomcat/lib_または_YourApp/WEB-INF/lib_にドロップしてもかまいません。 。ただし、_Tomcat/lib_内のものはallデプロイされたWebアプリケーションに適用され、_YourApp/WEB-INF/lib_内のものはオーバーライドされることを理解する必要があります特定のwebapp専用の_Tomcat/lib_の1つ。


2:_context.xml_または_server.xml_ファイルを確認する必要がありますか?

これは、接続を管理する場所によって異なります。 JNDIデータソースを使用する場合は、次のように_YourApp/META-INF/context.xml_を使用して設定するだけで十分です(存在しない場合はファイルを作成するだけです)。

_<?xml version="1.0" encoding="UTF-8"?>
<Context>
    <Resource
        name="jdbc/yourdb" type="javax.sql.DataSource"
        maxActive="100" maxIdle="30" maxWait="10000" 
        url="jdbc:mysql://localhost:3306/yourdb"
        driverClassName="com.mysql.jdbc.Driver"
        username="yourname" password="yourpass"
    />
</Context>
_

および_YourApp/WEB-INF/web.xml_は次のとおりです。

_<resource-env-ref>
    <resource-env-ref-name>jdbc/yourdb</resource-env-ref-name>
    <resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>
</resource-env-ref>
_

あなたがそれを基本的なDriverManager方法でやっているなら、それはあなた次第です。ハードコードされたプロパティファイル、XMLファイルなど。自分で管理してください。 Tomcatはあなたのために役立つことは何もしません(そしてできません)。

_YourApp/META-INF/context.xml_はTomcatとクローンに固有であることに注意してください。各servletcontainer/appserverには、JNDIリソースを定義する独自の方法があります。たとえば、Glassfishでは、Webベースの管理インターフェイスを使用してそれを行います。


3:_web.xml_ファイルを記述し、_Tomcat 6.0\webapps\myapp\WEB-INF_の下に配置する必要がありますか?はいの場合、ファイルの内容は何ですか?

常に提供する必要があります。リソースを構成するだけでなく、サーブレット、フィルター、リスナー、およびWebアプリケーションを実行するためのそのような必須のものを定義することもできます。このファイルは、標準のサーブレットAPIの一部です。

以下も参照してください。

30
BalusC