1 :Où placer
mysql-connector-java-5.1.13-bin
dans le répertoire Tomcat ? Dois-je le placer sousTomcat 6.0\webapps\myapp\WEB-INF\lib
?
Cela dépend de l'endroit où les connexions doivent être gérées. Normalement, vous souhaitez créer une source de données JNDI regroupée en connexions pour améliorer les performances de connexion. Dans ce cas, Tomcat gère les connexions et doit avoir accès au pilote JDBC. Vous devez ensuite déposer le fichier JAR dans Tomcat/lib
.
Mais si vous le faites de manière basique en utilisant DriverManager#getConnection()
, alors peu importe si vous le déposez dans Tomcat/lib
ou YourApp/WEB-INF/lib
. Vous devez cependant réaliser que celui de Tomcat/lib
s'appliquera à tous webapps déployées et celle dans YourApp/WEB-INF/lib
remplacera celui de Tomcat/lib
uniquement pour l'application Web en question.
2 :Dois-je configurer
context.xml
ouserver.xml
fichiers ?
Cela dépend de l'endroit où les connexions doivent être gérées. Lors de l'utilisation d'une source de données JNDI, il suffit de la configurer à l'aide de YourApp/META-INF/context.xml
comme suit (créez simplement un fichier s'il n'existe pas):
<?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>
et le YourApp/WEB-INF/web.xml
comme suit :
<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>
Si vous le faites, le DriverManager
de base façon, alors tout dépend de vous. Codé en dur, fichier de propriétés, fichier XML, etc. Vous devriez le gérer vous-même. Tomcat ne fera (et ne pourra) rien faire d'utile pour vous.
Notez que le YourApp/META-INF/context.xml
est spécifique à Tomcat et aux clones. Chaque servletcontainer/appserver a sa propre façon de définir les ressources JNDI. Dans Glassfish, par exemple, vous aimeriez le faire via l'interface d'administration Web.
3 :Dois-je écrire
web.xml
fichier et doit être placé sousTomcat 6.0\webapps\myapp\WEB-INF
? Si oui, alors quel devrait être le contenu du fichier ?
Vous devez toujours en fournir un. Il ne s'agit pas seulement de configurer des ressources, mais aussi de définir des servlets, des filtres, des écouteurs et ce genre de choses obligatoires pour exécuter votre application Web. Ce fichier fait partie de l'API Servlet standard.
Voir aussi :
- Est-il sûr d'utiliser une instance statique de java.sql.Connection dans un système multithread ?
- Comment dois-je me connecter à la base de données/source de données JDBC dans une application basée sur un servlet ?
- Où dois-je placer le pilote JDBC pour la connexion de Tomcat piscine ?
- Tutoriel DAO - Tutoriel JDBC/DAO de base, ciblé sur Tomcat/JSP/Servlet