1:Gdzie umieścić mysql-connector-java-5.1.13-bin
w katalogu Tomcat? Czy powinienem umieścić go w Tomcat 6.0\webapps\myapp\WEB-INF\lib
?
To zależy od tego, gdzie mają być zarządzane połączenia. Zwykle chcesz utworzyć źródło danych JNDI z pulą połączeń, aby poprawić wydajność łączenia. W takim przypadku Tomcat zarządza połączeniami i musi mieć dostęp do sterownika JDBC. Powinieneś następnie upuścić plik JAR w Tomcat/lib
.
Ale jeśli robisz to w podstawowy sposób, używając DriverManager#getConnection()
, to w rzeczywistości nie ma znaczenia, czy upuścisz go w Tomcat/lib
lub YourApp/WEB-INF/lib
. Musisz jednak zdać sobie sprawę, że ten w Tomcat/lib
będzie dotyczyć wszystkich wdrożone aplikacje internetowe i ta w YourApp/WEB-INF/lib
zastąpi ten w Tomcat/lib
tylko dla konkretnej aplikacji internetowej.
2:Czy muszę konfigurować plik context.xml
? lub server.xml
pliki?
To zależy od tego, gdzie mają być zarządzane połączenia. Korzystając ze źródła danych JNDI, wystarczy skonfigurować je za pomocą YourApp/META-INF/context.xml
jak poniżej (po prostu utwórz plik, jeśli nie istnieje):
<?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>
i YourApp/WEB-INF/web.xml
w następujący sposób:
<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>
Jeśli to robisz, podstawowy DriverManager
sposób, to wszystko zależy od Ciebie. Zakodowany na sztywno, plik właściwości, plik XML itp. Powinieneś sam tym zarządzać. Tomcat nie zrobi (i nie może) zrobić dla ciebie niczego pożytecznego.
Należy zauważyć, że YourApp/META-INF/context.xml
jest specyficzny dla Tomcata i klonów. Każdy servletcontainer/appserver ma swój własny sposób definiowania zasobów JNDI. Na przykład w Glassfish chcesz to zrobić za pomocą internetowego interfejsu administratora.
3:Czy powinienem napisać web.xml
plik i należy umieścić w Tomcat 6.0\webapps\myapp\WEB-INF
? Jeśli tak, to jaka powinna być zawartość pliku?
Powinieneś zawsze dostarczać jeden. To nie tylko konfiguracja zasobów, ale także zdefiniowanie serwletów, filtrów, słuchaczy i tego rodzaju obowiązkowych rzeczy do uruchomienia aplikacji internetowej. Ten plik jest częścią standardowego interfejsu API Servlet.
Zobacz też:
- Czy używanie statycznej instancji java.sql.Connection w systemie wielowątkowym jest bezpieczne?
- Jak powinienem połączyć się z bazą danych/źródłem danych JDBC w aplikacji opartej na serwlecie?
- Gdzie muszę umieścić sterownik JDBC dla połączenia Tomcata basen?
- Samouczek DAO — podstawowy samouczek JDBC/DAO, ukierunkowany na Tomcat/JSP/Servlet