1:Vị trí đặt
mysql-connector-java-5.1.13-bin
trong thư mục Tomcat? Tôi có nên đặt nó dướiTomcat 6.0\webapps\myapp\WEB-INF\lib
không ?
Điều đó phụ thuộc vào vị trí các kết nối sẽ được quản lý. Thông thường, bạn muốn tạo một nguồn dữ liệu JNDI được gộp chung kết nối để cải thiện hiệu suất kết nối. Trong trường hợp đó, Tomcat đang quản lý các kết nối và cần có quyền truy cập vào trình điều khiển JDBC. Sau đó, bạn nên thả tệp JAR vào Tomcat/lib
.
Nhưng nếu bạn đang làm theo cách cơ bản thì sử dụng DriverManager#getConnection()
, thì thực tế không thành vấn đề nếu bạn thả nó vào Tomcat/lib
hoặc YourApp/WEB-INF/lib
. Tuy nhiên, bạn cần nhận ra rằng một trong Tomcat/lib
sẽ áp dụng cho tất cả đã triển khai ứng dụng web và ứng dụng trong YourApp/WEB-INF/lib
sẽ ghi đè một trong Tomcat/lib
chỉ dành cho ứng dụng web cụ thể.
2:Tôi có cần xác nhận
context.xml
hoặcserver.xml
tệp?
Điều đó phụ thuộc vào vị trí các kết nối sẽ được quản lý. Khi sử dụng nguồn dữ liệu JNDI, chỉ cần cấu hình nó bằng YourApp/META-INF/context.xml
như sau (chỉ tạo tệp nếu không tồn tại):
<?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>
và YourApp/WEB-INF/web.xml
như sau:
<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>
Nếu bạn đang làm điều đó, DriverManager
cơ bản bằng cách nào, sau đó tất cả tùy thuộc vào bạn. Mã cứng, tệp thuộc tính, tệp XML, v.v. Bạn nên tự quản lý nó. Tomcat sẽ không (và không thể) làm bất cứ điều gì hữu ích cho bạn.
Lưu ý phải là YourApp/META-INF/context.xml
dành riêng cho Tomcat và các bản sao. Mỗi servletcontainer / appserver có cách xác định tài nguyên JNDI riêng. Ví dụ:trong Glassfish, bạn muốn làm điều đó thông qua giao diện quản trị dựa trên web.
3:Tôi có nên viết
web.xml
không và cần đặt dướiTomcat 6.0\webapps\myapp\WEB-INF
? Nếu Có, thì nội dung của tệp sẽ là gì?
Bạn nên luôn cung cấp một cái. Nó không chỉ để định cấu hình tài nguyên mà còn để xác định các servlet, bộ lọc, bộ lắng nghe và những thứ bắt buộc đó để chạy ứng dụng web của bạn. Tệp này là một phần của API Servlet tiêu chuẩn.
Xem thêm:
- Sử dụng phiên bản java.sql.Connection tĩnh trong hệ thống đa luồng có an toàn không?
- Làm cách nào để kết nối với cơ sở dữ liệu / nguồn dữ liệu JDBC trong một ứng dụng dựa trên servlet?
- Tôi phải đặt trình điều khiển JDBC ở đâu cho kết nối của Tomcat hồ bơi?
- Hướng dẫn DAO - hướng dẫn JDBC / DAO cơ bản, được nhắm mục tiêu trên Tomcat / JSP / Servlet