Tomcat 9 + Mysql 5.6 配置 JNDI 数据源

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

就可以看到数据库的数据了。




你可能感兴趣的:(tomcat,mysql,JNDI,数据源)