MySQL数据源连接Tomcat6.0配置教程

版权申诉
0 下载量 64 浏览量 更新于2024-08-31 收藏 32KB PDF 举报
该资源是一个关于如何在Java Web应用程序中设置数据源以连接MySQL数据库的教程,主要针对Tomcat 6.0服务器。教程提到了两种方法,推荐使用第二种。 在Java Web应用中连接MySQL数据库通常涉及到配置数据源(DataSource),以便应用能够透明地获取数据库连接。以下是详细步骤: 第一种方法: 虽然没有详细描述,但第一种方法可能涉及在Tomcat服务器的全局上下文中配置数据源。通常,这会通过编辑`$CATALINA_HOME/conf/server.xml`文件完成,将数据源定义在`<GlobalNamingResources>`标签内。这种方法使得数据源对所有部署在该Tomcat实例上的应用都可用。 第二种方法(推荐): 1. 创建`context.xml`文件:在你的Web应用的`WEB-INF/META-INF`目录下创建一个名为`context.xml`的文件。在这个文件中,定义一个`<Context>`标签,然后在其中添加一个`<Resource>`标签。`<Resource>`标签包含了数据库连接的相关信息,如数据库驱动(`driverClassName`)、URL(`url`)、用户名(`username`)和密码(`password`)。此外,还可以配置最大活动连接数(`maxActive`)、最大空闲连接数(`maxIdle`)和最大等待时间(`maxWait`)。 ```xml <?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/bbs" username="root" password="root" maxActive="50" maxIdle="20" maxWait="10000"/> </Context> ``` 2. 更新`web.xml`文件:在`WEB-INF/web.xml`文件中,添加一个`<resource-ref>`标签来关联应用中的数据源引用。这个标签定义了资源引用的名字、类型和认证方式。 ```xml <web-app> ... <resource-ref> <description>DBConnection</description> <res-ref-name>jdbc/mysql</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> ... </web-app> ``` 获取数据库连接: 一旦配置完成,应用可以通过JNDI(Java Naming and Directory Interface)查找并获取数据源,然后创建数据库连接。以下是一个简单的Java代码示例: ```java package xushun.util; import java.sql.Connection; import javax.sql.DataSource; import javax.naming.InitialContext; import javax.naming.NamingException; public class DBUtils { public static Connection getConnection() { Connection conn = null; try { InitialContext ic = new InitialContext(); DataSource ds = (DataSource) ic.lookup("java:comp/env/jdbc/mysql"); conn = ds.getConnection(); } catch (NamingException | SQLException e) { e.printStackTrace(); } return conn; } } ``` 在上述代码中,`ic.lookup("java:comp/env/jdbc/mysql")`会查找在`web.xml`中定义的资源引用,并返回数据源对象。然后,通过数据源对象的`getConnection()`方法获取数据库连接。 通过这种方式,你的Java Web应用就能安全、高效地连接到MySQL数据库,而无需在代码中硬编码数据库连接信息。这种方式有助于应用的可移植性和安全性,因为敏感的数据库凭据被存储在服务器配置中,而不是在源代码里。