1:Vị trí đặt
mysql-connector-java-5.1.13-bintrong thư mục Tomcat? Tôi có nên đặt nó dướiTomcat 6.0\webapps\myapp\WEB-INF\libkhô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.xmlhoặcserver.xmltệ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.xmlkhô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