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:
- Ist es sicher, eine statische java.sql.Connection-Instanz in einem Multithread-System zu verwenden?
- Wie soll ich eine Verbindung zur JDBC-Datenbank/Datenquelle in einer Servlet-basierten Anwendung herstellen?
- Wo muss ich den JDBC-Treiber für Tomcats Verbindung platzieren Schwimmbad?
- DAO-Tutorial – grundlegendes JDBC/DAO-Tutorial, gezielt auf Tomcat/JSP/Servlet