tomcat6,7配置连接池

以往Tomcat5.0的连接池配置是在http://localhost:8080/admin/下进行的非常方便,可是5.0以后的版本里面Tomcat就没有把admin集成到程序中了。

Tomcat5.5的admin可以在apache官方网站上下到,也可以通过admin里面的提示信息进行配置

可是Tomcat6.07.0以后就没有admin管理界面了。这个时候配置连接池就必须手动配置了

以前很多都是在server.xml中配置的,现在分离出了一个context.xml

下面说一下,在Tomcat67下如何配置连接池

第一步:首先要把jdbc驱动文件拷贝到Tomcat安装目录的lib文件夹下

由于是使用Tomcat提供的数据源实现来访问数据库(注意:数据源本身并不提供具体的数据库访问功能,只是作为连接对象的工厂,实际的数据访问操作仍然是由对应数据库的JDBC驱动来完成),这里是Tomcat需要JDBC驱动,而不再是应用程序需要JDBC驱动,所以得先将对应数据库的JDBC驱动类库(.jar格式)拷贝到Tomcat目录中的lib文件夹下,供Tomcat调用。

第二步:打开Tomcat目录下的conf文件夹然后打开context.xml文件,在里面添加

<Resource name="myoracle" 
	 auth="Container" 
          type="javax.sql.DataSource" 
          driverClassName="oracle.jdbc.OracleDriver" 
          url="jdbc:oracle:thin:@localhost:1521:orcl" 
          username="drp" 
          password="drp" 
	 maxActive="3" 
	 maxIdle="1" 
	 maxWait="3000"/>

参数说明:

name:表示你的连接池的名称也就是你要访问连接池的地址

auth:是连接池管理权属性,Container表示容器管理

type:是对象的类型

driverClassName:是数据库驱动的名称因为不同人可能用不同数据库,所以对于driverClassName,去查看jar包里面驱动类的路径。

url:是数据库的地址,最后的:orcl可以更改为你安装数据库的时候的实例名称

username:是登陆数据库的用户名

password:是登陆数据库的密码

maxActive:同时能够从连接池中被分配的可用连接的最大数,设 0 为没有限制

maxIdle:连接池启动时,初始化的连接数,(可以同时闲置在连接池中的连接的最大数),设 0 为没有限制

maxWait:最大等待毫秒数, 单位为 ms, 超过时间会出错误信息设为-1表示无限制。

注:

1如果你用sqlserver,注意,要去打开验证方式,打开tcp/ip协议,绑定1433端口。

2对于driverClassName,一定要去查看jar包里面驱动类的路径

第三步:

如果不想与其他应用公用这个连接池配置,那么把context.xml剪切到你的应用下的“META-INF文件夹下”

注:除了配置Tomcatcontext.xml文件外,也可web项目的META-INF文件夹下新增文件context.xml其内容和上面的基本一样如下。(因为Web程序部署发布时Tomcat会自动加载WEB-INF下的内容,也就可以获得这些信息了,所以和上面的是一样的效果。但要明白一点的是:这样的配置就只对当前Web项目有效,其他项目不能使用这些信息

测试连接用jsp:

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<%@ page import="javax.naming.*" %>  
<%@ page import="javax.sql.*" %>  
<%@ page import="java.sql.*" %>
<%
	//执行通过,不抛异常,则说明正确
	Connection conn = null;
	try { 
		//new DBCP....
		Context ctx = new InitialContext();
		//通过JNDI查找DataSource
	         DataSource ds = (DataSource)ctx.lookup("java:comp/env/myoracle");
	          conn = ds.getConnection();
	 	
	}catch(Exception e) {
		e.printStackTrace();
	}finally {		
		conn.close();
	}	
%>


你可能感兴趣的:(tomcat6)