1:Var ska du placera
mysql-connector-java-5.1.13-bini Tomcat-katalogen? Ska jag placera den underTomcat 6.0\webapps\myapp\WEB-INF\lib?
Det beror på var anslutningarna ska hanteras. Normalt skulle du vilja skapa en anslutningspoolad JNDI-datakälla för att förbättra anslutningsprestandan. I så fall hanterar Tomcat anslutningarna och måste ha tillgång till JDBC-drivrutinen. Du bör sedan släppa JAR-filen i Tomcat/lib .
Men om du gör det på det grundläggande sättet med DriverManager#getConnection()
, då spelar det faktiskt ingen roll om du släpper det i Tomcat/lib eller YourApp/WEB-INF/lib . Du måste dock inse att den i Tomcat/lib kommer att gälla för alla distribuerade webbappar och den i YourApp/WEB-INF/lib kommer att åsidosätta den i Tomcat/lib endast för den specifika webbappen.
2:Behöver jag konfigurera
context.xmlellerserver.xmlfiler?
Det beror på var anslutningarna ska hanteras. När du använder en JNDI-datakälla räcker det att konfigurera den med YourApp/META-INF/context.xml som följer (skapa bara en fil om den inte finns):
<?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>
och YourApp/WEB-INF/web.xml enligt följande:
<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>
Om du gör det den grundläggande DriverManager sätt, då är det upp till dig. Hårdkodad, egenskapsfil, XML-fil, etcetera. Du borde klara det själv. Tomcat kommer inte (och kan) inte göra något användbart för dig.
Det bör noteras att YourApp/META-INF/context.xml är specifik för Tomcat och kloner. Varje servletcontainer/appserver har sitt eget sätt att definiera JNDI-resurser. I Glassfish till exempel, skulle du vilja göra det genom det webbaserade administratörsgränssnittet.
3:Ska jag skriva
web.xmlfil och måste placeras underTomcat 6.0\webapps\myapp\WEB-INF? Om ja, vad ska innehållet i filen vara?
Du bör alltid tillhandahålla en. Det är inte bara för att konfigurera resurser, utan också för att definiera servlets, filter, lyssnare och den typen av obligatoriska saker för att köra din webbapp. Den här filen är en del av standardservlet API.
Se även:
- Är det säkert att använda en statisk java.sql.Connection-instans i ett flertrådat system?
- Hur ska jag ansluta till JDBC-databas/datakälla i en servletbaserad applikation?
- Var måste jag placera JDBC-drivrutinen för Tomcats anslutning pool?
- DAO-handledning – grundläggande JDBC/DAO-handledning, riktad på Tomcat/JSP/Servlet