有人可以提供一些有关如何配置 Tomcat 访问 MySQL 的详细信息吗?
我应该将
mysql-connector-java-5.1.13-bin
放置在 Tomcat 中的哪个目录中?我应该将其放在Tomcat 6.0\webapps\myapp\WEB-INF\lib
下吗?我需要向
context.xml
或server.xml
添加配置吗?我应该创建一个
web.xml
文件并将其放置在Tomcat 6.0\webapps\myapp\WEB-INF
下吗?如果是这样,那么这个文件的内容应该是什么样的?
最佳答案
1: Where to place
mysql-connector-java-5.1.13-bin
in Tomcat directory? Should I place it underTomcat 6.0\webapps\myapp\WEB-INF\lib
?
这取决于管理连接的位置。通常,您希望创建连接池 JNDI 数据源以提高连接性能。在这种情况下,Tomcat 正在管理连接并且需要访问 JDBC 驱动程序。然后,您应该将该 JAR 文件放入 Tomcat/lib
中。
但是如果您使用 DriverManager#getConnection()
进行基本操作,那么实际上将其放在 Tomcat/lib
或 YourApp/WEB-INF/lib
中并不重要。不过,您需要意识到,Tomcat/lib
中的内容将适用于所有已部署的 Web 应用程序,而 YourApp/WEB-INF/lib
中的内容则适用于所有已部署的 Web 应用程序> 将仅针对特定的 Web 应用程序覆盖 Tomcat/lib
中的内容。
2: Do I need to confirgure
context.xml
orserver.xml
files?
这取决于管理连接的位置。使用 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 和克隆。每个 servletcontainer/appserver 都有自己的定义 JNDI 资源的方式。例如,在 Glassfish 中,您希望通过基于网络的管理界面来执行此操作。
3: Should I write
web.xml
file and need to place underTomcat 6.0\webapps\myapp\WEB-INF
? If Yes, then what should be the contents of file?
您应该始终提供一个。它不仅要配置资源,还要定义 servlet、过滤器、监听器以及运行 Web 应用程序所需的此类内容。该文件是标准 Servlet API 的一部分。
另请参阅:
- Is it safe to use a static java.sql.Connection instance in a multithreaded system?
- How should I connect to JDBC database / datasource in a servlet based application?
- Where do I have to place the JDBC driver for Tomcat's connection pool?
- DAO Tutorial - basic JDBC/DAO tutorial, targeted on Tomcat/JSP/Servlet
关于java - 如何配置Tomcat连接MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44277460/