sql >> Database >  >> RDS >> Mysql

Hoe Tomcat te configureren om verbinding te maken met MySQL

1:Waar plaats je mysql-connector-java-5.1.13-bin in de Tomcat-map? Moet ik het onder Tomcat 6.0\webapps\myapp\WEB-INF\lib plaatsen ?

Dat hangt af van waar de verbindingen moeten worden beheerd. Normaal gesproken zou u een JNDI-gegevensbron met verbinding willen maken om de verbindingsprestaties te verbeteren. In dat geval beheert Tomcat de verbindingen en moet hij toegang hebben tot het JDBC-stuurprogramma. U moet dan het JAR-bestand neerzetten in Tomcat/lib .

Maar als je het op de basismanier doet met DriverManager#getConnection() , dan maakt het eigenlijk niet uit of je het in Tomcat/lib neerzet of YourApp/WEB-INF/lib . U moet zich echter realiseren dat die in Tomcat/lib geldt voor alle geïmplementeerde webapps en die in YourApp/WEB-INF/lib overschrijft die in Tomcat/lib alleen voor de specifieke webapp.

2:Moet ik context.xml configureren of server.xml bestanden?

Dat hangt af van waar de verbindingen moeten worden beheerd. Bij gebruik van een JNDI-gegevensbron volstaat het om deze te configureren met YourApp/META-INF/context.xml als volgt (maak gewoon een bestand aan als het niet bestaat):

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

en de YourApp/WEB-INF/web.xml als volgt:

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

Als je het doet, de basis DriverManager manier, dan is het allemaal aan jou. Hardcoded, eigenschappenbestand, XML-bestand, enzovoort. Je moet het zelf regelen. Tomcat zal (en kan) niets nuttigs voor je doen.

Opgemerkt moet worden dat de YourApp/META-INF/context.xml is specifiek voor Tomcat en klonen. Elke servletcontainer/appserver heeft zijn eigen manier om JNDI-bronnen te definiëren. In Glassfish bijvoorbeeld, zou je dat willen doen via de webgebaseerde beheerdersinterface.

3:Moet ik web.xml write schrijven bestand en moet onder Tomcat 6.0\webapps\myapp\WEB-INF worden geplaatst ? Zo ja, wat moet dan de inhoud van het bestand zijn?

Je moet er altijd een aanleveren. Het is niet alleen om bronnen te configureren, maar ook om servlets, filters, listeners en dat soort verplichte dingen te definiëren om je webapp uit te voeren. Dit bestand maakt deel uit van de standaard Servlet API.

Zie ook:



  1. Hoe op te lossen "Er moet een correlatienaam worden opgegeven voor de bulkrijenset in de from-clausule." in SQL Server

  2. django test-app-fout - Er is een fout opgetreden bij het maken van de testdatabase:toestemming geweigerd om database te maken

  3. SQLite Intersect

  4. 7 dingen die u moet weten over compartimenten op Oracle Cloud Infrastructure