1:通过Connection Pool 管理数据库连接
2:通过Data Source 去管理Connection Pool
3: Data Source 被JNDI Tree 绑定
一:JNDI配置方式
现在来讲一下如何到服务器上对 Data Source 进行配置?
服务器: Tomcat 9
数据库:MySQL5.6.23
1:将下面的代码添加到Tomcat服务器上conf/context.xml中的<Context></Context>标签中
<Resource name="jdbc/dstest" auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/javaee"
username="root" password="root" maxActive="5"
maxIdle="2" maxWait="10000"
/>
上下文context.xml中的参数的解析如下:
其中的name属性是数据源名称,通常采取jdbc/**.
driverClassName属性是驱动程序名称。
username,password,数据库名称和密码
url:访问的数据库路径。其中url的内容组成解析上篇博客中已经分析
maxActive属性是并发连接的最大数。设置为0则无限制。
maxWait属性是等待连接的最大连接的时间。
maxIdle属性是连接池中空闲的连接的个数。
2.建立测试文件
2.1 建立一个文件: tomcatTest.jsp
内容如下:
<%--
网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
author yeeku.H.lee [email protected]
version 1.0
Copyright (C), 2001-2012, yeeku.H.Lee
This program is protected by copyright laws.
Program Name:
Date:
--%>
<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<%@ page import="javax.naming.*,java.sql.*,javax.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>测试Tomcat数据源</title>
</head>
<body>
<%
//初始化Context,使用InitialContext初始化Context
Context ctx=new InitialContext();
/*
通过JNDI查找数据源,该JNDI为java:comp/env/jdbc/dstest,分成两个部分
java:comp/env是Tomcat固定的,Tomcat提供的JNDI绑定都必须加该前缀
jdbc/dstest是定义数据源时的数据源名
*/
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/dstest");
//获取数据库连接
Connection conn=ds.getConnection();
//获取Statement
Statement stmt=conn.createStatement();
//执行查询,返回ResulteSet对象
ResultSet rs=stmt.executeQuery("select * from news_inf");
while(rs.next())
{
out.println(rs.getString(1)
+ "\t" + rs.getString(2) + "<br/>");
}
%>
</body>
</html>
2.2 建立另外一个文件web.xml
内容如下:
<?xml version="1.0" encoding="GBK"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
</web-app>
2.3 建立一个目录testMysql, 把tomcatTest.jsp放到这个目录下,然后在这个目录下再建立一个子目录WEB-INF,把上面的web.xml考到这个子目录下。
3. 把 Mysql 5.6.23的连接包 mysql-connector-java-5.1.34-bin.jar 拷贝到tomcat lib目录下。
4. 把目录testMysql部署到tomcat上。
在浏览器上输入: http://localhost:8080/manager/html
然后找到 deploy,在Context Path 输入mysqlshow (你自己取别的名字也可以),WAR or Directory URL:输入testMysql的全路径。
Context Path (required): | |
XML Configuration file URL: | |
WAR or Directory URL: |
tomcat就会把这个给部署上去。
5.重启tomcat就可以了。
6: 输入 http://localhost:8080/mysqlshow/tomcatTest.jsp
就可以看到数据库的数据了。