tomcat-6.0.29配置数据源

我们知道 tomcat分不同的版本,.配置的数据源的方法,也不相同. 这点需要特别注意.

下面来说下,在tomcat 6.0.中配置数据源连接Oracle数据库的方法.连接其他数据库也是一样.只是改下driverClassName 和Url就行了.只是需要不同的驱动程序的jar包,拷贝到apache-tomcat-6.0.29\lib中。

1.下载Tomcat-6.0.29 解压到本地磁盘.

拷贝数据库驱动包.到apache-tomcat-6.0.29\lib目录下:

我这里以oracle10G为例.需要拷贝:ojdbc14.jar.

2.打开apache-tomcat-6.0.29\conf目录中的content.xml文件.

在此文件中配置Resource

<?xml version='1.0' encoding='utf-8'?>
<Context>
    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
   	
   	<!--数据源-->		
		<Resource 
			     name="jdbc/DBSource"          <!--数据源名称,格式通常为jdbc/xxx名称-->
   			     type="javax.sql.DataSource"  <!--数据源类型-->
   			     username="scott"                   <!--连接数据库用户名-->
   			     password="tiger"                    <!--连接数据库密码--> 
   			     maxIdle="2"                            <!--最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制。-->
   			     maxWait="5000"                     <!--最大的等待时间,单位毫秒。如果超过此时间将接到异常。设为-1表示无限制-->
   			     url="jdbc:oracle:thin:@localhost:1521:orcl"      
   			     driverClassName="oracle.jdbc.driver.OracleDriver"
   			     maxactive="10"                 <!--连接池的最大数据库连接数。设为0表示无限制-->
   	/>
</Context>

3.在Web项目中的web.xml里面需要引用数据源:

<!-- 引用数据源; -->
  <resource-ref>
  	<description>Oracle dataSource</description>
  	<res-ref-name>jdbc/DBSource</res-ref-name>
  	<res-type>javax.sql.DataSource</res-type>
  	<res-auth>Container</res-auth>
  	<res-sharing-scope>Shareable</res-sharing-scope>
  </resource-ref>

4.在java代码中,写一个方法调用一下.

比如:在一个DataSourceDemo

package pack.java.datasource.demo;

import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/**
 * 数据源实例;
 * @author zhouhaitao
 *
 */
public class DataSourceDemo {
	/**
	 * 根据datasourceName获取数据源;
	 * @param dsName
	 * @return
	 */
	public Connection getConnection(String dsName){
		Connection connection = null;
		try {
			//初始化,获取上下文对象;
			InitialContext context = new InitialContext();
			
			//根据datasourceName获取dataSource;
			javax.sql.DataSource dataSource = (javax.sql.DataSource) context.lookup("java:comp/env/"+dsName);
			
			try {
				//从数据源中获取连接;
				connection = dataSource.getConnection();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} catch (NamingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return connection;
	}
}

5.在jsp页面中,测试一下,是否调用成功。

也可以把方法直接写在<%%>脚本中.这里为了,测试方便,就直接在java代码中,写入方法,只需要传入dataSourceName即可。

<%@ 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">

<%@page import="javax.sql.DataSource"%>
<%@page import="pack.java.datasource.demo.DataSourceDemo"%>
<%@page import="java.sql.Connection"%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
	<%
		DataSourceDemo dataSourceDemo = new DataSourceDemo();
		Connection connection = dataSourceDemo.getConnection("jdbc/DBSource");
		//打印connection对象;
		out.println(connection);
	%>
</body>
</html>

6.发布项目,启动Tomcat服务.在浏览器中运行:

http://localhost:8080/MyDataSource/index.jsp



 

成功,从数据源中,获得一个连接..

猜你喜欢

转载自zhouhaitao.iteye.com/blog/1107027