Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So konfigurieren Sie Tomcat für die Verbindung mit MySQL

1:Wo soll mysql-connector-java-5.1.13-bin abgelegt werden im Tomcat-Verzeichnis? Soll ich es unter Tomcat 6.0\webapps\myapp\WEB-INF\lib platzieren ?

Das hängt davon ab, wo die Verbindungen verwaltet werden sollen. Normalerweise möchten Sie eine in einem Verbindungspool zusammengefasste JNDI-Datenquelle erstellen, um die Verbindungsleistung zu verbessern. In diesem Fall verwaltet Tomcat die Verbindungen und benötigt Zugriff auf den JDBC-Treiber. Sie sollten die JAR-Datei dann in Tomcat/lib ablegen .

Aber wenn Sie es auf die einfache Weise tun, verwenden Sie DriverManager#getConnection() , dann spielt es eigentlich keine Rolle, ob Sie es in Tomcat/lib ablegen oder YourApp/WEB-INF/lib . Sie müssen sich jedoch darüber im Klaren sein, dass die in Tomcat/lib gelten für alle bereitgestellten Webapps und das in YourApp/WEB-INF/lib überschreibt die in Tomcat/lib nur für die jeweilige Webapp.

2:Muss ich context.xml konfigurieren oder server.xml Dateien?

Das hängt davon ab, wo die Verbindungen verwaltet werden sollen. Bei Verwendung einer JNDI-Datenquelle genügt es, sie mit YourApp/META-INF/context.xml zu konfigurieren wie folgt (nur Datei erstellen, falls nicht vorhanden):

<?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>

und die YourApp/WEB-INF/web.xml wie folgt:

<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>

Wenn Sie es tun, den grundlegenden DriverManager Weg, dann liegt es an Ihnen. Fest codiert, Eigenschaftendatei, XML-Datei usw. Sie sollten es selbst verwalten. Tomcat wird (und kann) nichts Nützliches für Sie tun.

Zu beachten ist, dass die YourApp/META-INF/context.xml ist spezifisch für Tomcat und Klone. Jeder Servletcontainer/Anwendungsserver hat seine eigene Art, JNDI-Ressourcen zu definieren. In Glassfish möchten Sie dies beispielsweise über die webbasierte Verwaltungsoberfläche tun.

3:Soll ich web.xml schreiben Datei und muss unter Tomcat 6.0\webapps\myapp\WEB-INF abgelegt werden ? Wenn ja, was sollte dann der Inhalt der Datei sein?

Sie sollten immer eine liefern. Es geht nicht nur darum, Ressourcen zu konfigurieren, sondern auch Servlets, Filter, Listener und solche obligatorischen Dinge zu definieren, um Ihre Webanwendung auszuführen. Diese Datei ist Teil der Standard-Servlet-API.

Siehe auch: