这篇来学习第三中管理数据源的方法,就是Tomcat服务器已经集成好DBCP框架,通过简单配置,tomcat服务器可以管理数据源。
1.配置数据源的步骤
1.拷贝数据库连接的jar到tomcat lib目录下
2.配置数据源xml文件
a.如果把配置信息写在tomcat下的conf目录,那么所有应用都能使用此数据源
b.如果在当前应用的META-INF中创建context.xml,编写数据源,那么只能当前应用可以使用该数据源
3.使用连接池
2.具体实现过程
2.1 拷贝数据库连接jar包到tomcat lib目录下
第一个红圈是我copy过来的mysql 驱动连接包,第二个就是tomcat已经自己集成了DBCP框架,里面包含commons-dbcp.jar和commons-pool.jar
2.2 配置数据源xml文件
一般来说,我们选择第二种配置方法,也就是只对当前应用可用数据源。
在META-INF路径下创建一个context.xml文件,拷贝如下内容
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/JNDI" auth="Container" type="javax.sql.DataSource"
maxTotal="100" maxIdle="30" maxWaitMillis="10000"
username="root" password="123456" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/j2ee"/>
</Context>
这些内容可以在本地tomcat服务器的文档找到。关于name,一般习惯"jdbc/当前项目名称开头"
2.3 使用连接池
创建一个index.jsp文件,输入如下代码。
<%@page import="java.sql.Connection"%>
<%@page import="javax.sql.DataSource"%>
<%@page import="javax.naming.InitialContext"%>
<%@page import="javax.naming.Context"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Context initContext = new InitialContext();
DataSource ds = (DataSource)initContext.lookup("java:/comp/env/jdbc/JNDI");
Connection conn = ds.getConnection();
out.print(conn);
%>
</body>
</html>
注意下这里lookup("java:/comp/env/jdbc/JNDI"); 后面/jdbc/JNDI就是我们前面context.xml中配置的name的值。
部署服务器,访问index.jsp
打印出来是一个对象,说明这个连接是成功的。