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 中的一个将适用于所有部署的 webapp,YourApp/WEB-INF/lib 中的一个将覆盖 Tomcat/lib 中的一个,仅适用于特定的 webapp。
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 和克隆的。每个 servletcontainer/appserver 都有自己定义 JNDI 资源的方式。例如,在 Glassfish 中,您希望通过基于 Web 的管理界面来执行此操作。
3: 我应该写web.xml 文件并且需要放在Tomcat 6.0\webapps\myapp\WEB-INF 下吗?如果是,那么文件的内容应该是什么?
您应该始终提供一个。不仅要配置资源,还要定义 servlet、过滤器、侦听器以及运行 webapp 所需的那些东西。该文件是标准 Servlet API 的一部分。
另见: