这篇文章将为大家详细讲解有关Tomcat7如何配置数据源,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在JDBC的操作中,打开和关闭数据库连接,是最耗费数据库资源的,我们可以在服务器上存放一定量的数据库连接,每当程序要连接数据库时,就将这些链接给它们,而一旦程序退出数据库操作时,要将这些链接返回给服务器。

下图是数据源的基本概念:


1:通过Connection Pool 管理数据库连接

2:通过Data Source 去管理Connection Pool

3: Data Source 被JNDI Tree 绑定

一:JNDI配置方式

现在来讲一下如何到服务器上对 Data Source 进行配置

服务器: Tomcat 7

1:将下面的代码添加到Tomcat服务器上conf/context.xml中的标签中

点击(此处)折叠或打开

<Resource

name="jdbc/shopping"

auth="Container"

type="javax.sql.DataSource"

maxActive="100"

maxIdle="30"

maxWait="10000"

username="root"

password="root"

driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost:3306/shopping"

/>

上下文context.xml中的参数的解析如下:

其中的name属性是数据源名称,通常采取jdbc/**.

driverClassName属性是驱动程序名称
username,password,数据库名称和密码
url:访问的数据库路径。其中url的内容组成解析上篇博客中已经分析
maxActive属性是并发连接的最大数。设置为0则无限制。
maxWait属性是等待连接的最大连接的时间。
maxIdle属性是连接池中空闲的连接的个数。

ORACLE写法有些区别:

<Resource

name="jdbcoracle"

auth="Container"

type="javax.sql.DataSource"

factory="org.apache.tomcat.dbcp.dbcp.BasicData SourceFactory"

maxActive="20"

maxIdle="1"

maxWait="100"

username="test"

password="test"

driverClassName="oracle.jdbc.OracleDriver"

url="jdbc:oracle:thin:@localhost:1521:orcl">

</Context>


2. 修改web.xml

打开%TOMCAT_HOME%\conf\web.xml,在的前面添加以下内容:

<description>MySQL Test App</description>

<resource-ref>

<description>DB Connection</description>

<res-ref-name>jdbc/shopping</res-ref-name> --此名字要与前面的name一样!

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>


3. 建立测试文件

<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>


<sql:query var="rs" dataSource="jdbc/shopping">

select id, name, normalprice from product

</sql:query>


<html>

<head>

<title>DB Test</title>

</head>

<body>


<h3>Results</h3>


<c:forEach var="row" items="${rs.rows}">

name ${row.name}<br/>

normalprice ${row.normalprice}<br/>

</c:forEach>


</body>

</html>

4. 添加jar包

JDBC驱动程序mysql-connector-java-5-bin.jar 放置在%TOMCAT_HOME%\lib 和 应用的WEB-INF\lib下,复制 jstl.jar 和 standard.jar 到 你的 WEB-INF/lib 目录.

5. 配置名称
配置名称name="jdbc/mldn"可以任意,配置完成后,需要通过名称查找的方式,去找到数据源,本示例代码运用的Tomcat服务器,所以在查找时需要对名称进行定位:java:comp/env

<%@ page import="java.sql.*"%>

<%@ page import="javax.sql.*"%>

<%@ page import="javax.naming.*"%>

<%!

final String JNDINAME = "java:comp/env/jdbc/shopping" ;

%>

<%

Connection conn = null ;

try

{

// 初始化查找命名空间

Context ctx = new InitialContext() ;

// 找到DataSource

DataSource ds = (DataSource)ctx.lookup(JNDINAME) ;

conn = ds.getConnection() ;

}

catch(Exception e)

{

System.out.println(e) ;

}

%>

<%=conn%>

<%

// 将连接重新放回到池中

conn.close() ;

%>

配置spring

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">

<property name="jndiName"><value>java:comp/env/jdbc/xxx</value></property>

</bean>

关于“Tomcat7如何配置数据源”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。