Mysql
 sql >> Database >  >> RDS >> Mysql

Come configurare Tomcat per la connessione con MySQL

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: