1:Dove posizionare mysql-connector-java-5.1.13-bin
nella directory Tomcat? Dovrei inserirlo in Tomcat 6.0\webapps\myapp\WEB-INF\lib
?
Dipende da dove devono essere gestite le connessioni. Normalmente si desidera creare un'origine dati JNDI con pool di connessioni per migliorare le prestazioni di connessione. In tal caso, Tomcat gestisce le connessioni e deve avere accesso al driver JDBC. Dovresti quindi rilasciare il file JAR in Tomcat/lib
.
Ma se lo stai facendo in modo semplice usando DriverManager#getConnection()
, quindi in effetti non importa se lo rilasci in Tomcat/lib
o YourApp/WEB-INF/lib
. Tuttavia, devi renderti conto che quello in Tomcat/lib
si applicherà per tutti app web distribuite e quella in YourApp/WEB-INF/lib
sovrascriverà quello in Tomcat/lib
solo per la particolare webapp.
2:Devo configurare context.xml
o server.xml
file?
Dipende da dove devono essere gestite le connessioni. Quando si utilizza un'origine dati JNDI, è sufficiente configurarla utilizzando YourApp/META-INF/context.xml
come segue (crea il file se non esiste):
<?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>
e il YourApp/WEB-INF/web.xml
come segue:
<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>
Se lo stai facendo, il DriverManager
di base modo, poi dipende tutto da te. Hardcoded, file delle proprietà, file XML, ecc. Dovresti gestirlo da solo. Tomcat non farà (e non potrà) fare nulla di utile per te.
Dovrebbe essere notato che YourApp/META-INF/context.xml
è specifico per Tomcat e cloni. Ciascun servletcontainer/appserver ha il proprio modo di definire le risorse JNDI. In Glassfish, ad esempio, vorresti farlo tramite l'interfaccia di amministrazione basata sul Web.
3:Devo scrivere web.xml
file e devi inserirlo in Tomcat 6.0\webapps\myapp\WEB-INF
? Se sì, quale dovrebbe essere il contenuto del file?
Dovresti sempre fornirne uno. Non si tratta solo di configurare le risorse, ma anche di definire servlet, filtri, listener e quel tipo di cose obbligatorie per eseguire la tua webapp. Questo file fa parte dell'API servlet standard.
Vedi anche:
- È sicuro utilizzare un'istanza java.sql.Connection statica in un sistema multithread?
- Come devo connettermi al database/origine dati JDBC in un'applicazione basata su servlet?
- Dove devo posizionare il driver JDBC per la connessione di Tomcat piscina?
- Tutorial DAO - tutorial JDBC/DAO di base, mirato su Tomcat/JSP/Servlet