1:Къде да поставите
mysql-connector-java-5.1.13-bin
в директорията Tomcat? Трябва ли да го поставя подTomcat 6.0\webapps\myapp\WEB-INF\lib
?
Това зависи от това къде трябва да се управляват връзките. Обикновено бихте искали да създадете JNDI източник на данни, обединен в пул, за да подобрите производителността на свързване. В този случай Tomcat управлява връзките и трябва да има достъп до JDBC драйвера. След това трябва да пуснете JAR файла в Tomcat/lib
.
Но ако го правите по основния начин, като използвате DriverManager#getConnection()
, тогава всъщност няма значение дали го пуснете в Tomcat/lib
или YourApp/WEB-INF/lib
. Трябва обаче да осъзнаете, че този в Tomcat/lib
ще се прилага за всички внедрени уеб приложения и това в YourApp/WEB-INF/lib
ще замени този в Tomcat/lib
само за конкретното уеб приложение.
2:Трябва ли да потвърдя
context.xml
илиserver.xml
файлове?
Това зависи от това къде трябва да се управляват връзките. Когато използвате JNDI източник на данни, достатъчно е да го конфигурирате с помощта на YourApp/META-INF/context.xml
както следва (просто създайте файл, ако не съществува):
<?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>
и YourApp/WEB-INF/web.xml
както следва:
<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>
Ако го правите основният DriverManager
начин, тогава всичко зависи от теб. Твърдо кодиран, файл със свойства, XML файл и т.н. Трябва да го управлявате сами. Tomcat няма (и не може) да направи нищо полезно за вас.
Трябва да се отбележи, че YourApp/META-INF/context.xml
е специфичен за Tomcat и клонинги. Всеки контейнер за сървлет/приложения има свой собствен начин за дефиниране на JNDI ресурси. В Glassfish например бихте искали да направите това чрез уеб базирания администраторски интерфейс.
3:Трябва ли да напиша
web.xml
файл и трябва да се постави подTomcat 6.0\webapps\myapp\WEB-INF
? Ако да, тогава какво трябва да бъде съдържанието на файла?
Винаги трябва да предоставяте такъв. Това е не само за конфигуриране на ресурси, но и за дефиниране на сървлети, филтри, слушатели и този вид задължителни неща за стартиране на вашето уеб приложение. Този файл е част от стандартния API на Servlet.
Вижте също:
- Безопасно ли е да се използва статичен екземпляр java.sql.Connection в многонишкова система?
- Как трябва да се свържа с JDBC база данни/източник на данни в приложение, базирано на сървлет?
- Къде трябва да поставя JDBC драйвера за връзката на Tomcat басейн?
- Урок за DAO – основен урок за JDBC/DAO, насочен на Tomcat/JSP/Servlet