笔记:tomcat5.5.23的连接池配置方法

Wednesday March 28, 2007

前些天我也写过一篇类似的文章,关于连接池配置的,今天我重新写过一篇,介绍不同的配置方法
环境搭建我就不多说了,我的环境是:

xp + jdk1.5 + tomcat5.5.23 + eclipse3.2.2 + myeclipse5.1.1GA + sqlserver2000

首先写个连接数据源的java类

SqlTestDS.java

package database;
import javax.sql.DataSource;
import javax.naming.*;
import java.sql.*;
public class SqlTestDS {
private static DataSource ds = null;
static {
init();
}
private static void init() {
try {
// 1、创建命名服务环境
Context ctx = new InitialContext();
if (ctx == null)
throw new Exception("No Context");
 
// 2、从JNDI中查询数据源对象
ds = (DataSource) ctx.lookup("java:comp/env/jdbc/sqlserver");
 
} catch (Exception e) {
e.printStackTrace();
}
}
 
// 将构造函数定义为private权限是为了保证全局只有一个SqlTestDS实例
// 也就是实现了单例模式
private SqlTestDS() {
 
}
 
public static Connection getConnection() throws SQLException {
if (ds == null) {
throw new SQLException("数据源对象为空!");
} else {
// 3、从数据源中获取数据库连接
return ds.getConnection();
}
}
}


再写个jsp文件,简单测试用.进行相关配置,接下来我将介绍和以前那篇不同的配置方法
第一种
在/META-INF目录下新建一个context.xml文件,写入以下内容

       docBase="myweb"      //工程的虚拟目录
       path="/myweb"          //访问路径
       reloadable="true">
      <resource name="jdbc/mysql" auth="Container" 
              type="javax.sql.DataSource"
              maxActive="100" maxIdle="30" maxWait="10000"
              driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
              username="sa" password="12345"
              url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=vnet"
              defaultAutoCommit="true" removeAbondoned="true"
              removeAbondonedTimeout="60" logAbondoned="true"/>

第二种
在$CATALINA_HOME/conf/Catalina/localhost/ 下新建一个和工程名同名的xml文件,如我的myweb.xml
内容同上

当然还要配置一下web.xml

<resource-ref>
<res-ref-name>jdb/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

然后重启tomcat,测试
访问路径为 http://localhost:8080/myweb/MyJsp.jsp
配置成功

Leave a reply