日期:2014-05-16  浏览次数:20485 次

Tomcat 5.0 数据库连接池的配置
忙了半天,终于配置好了.不过5.0版本和5.5的配置有一定区别的.这里是5.0的.如果读者要5.5的配置的话,其实差不多的.可以网上去搜,呵呵
    这里数据库是mysql.
1.确保mysql的jdbc驱动包,拷贝到Tomcat_Home\common\lib .比如我的是C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib
2,打开server.xml文件,在</host>前把以下代码粘贴上


    <Context path="/web工程的名字" docBase="web工程的目录\WebRoot"
  debug="5" reloadable="true" crossContext="true">

  <Logger className="org.apache.catalina.logger.FileLogger"
     prefix="localhost_MysqlTest_log." suffix=".txt"
     timestamp="true"/>
   
<Resource name="自命名的数据源的名字"  auth="Container" type="javax.sql.DataSource"/>

<ResourceParams name="自命名的数据源的名字">
  <parameter>
   <name>factory</name>
   <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
  </parameter>
  <parameter>
   <name>maxActive</name>
   <value>100</value>
  </parameter>
  <parameter>
   <name>maxIdle</name>
   <value>30</value>
  </parameter>
  <parameter>
   <name>maxWait</name>
   <value>5000</value>
  </parameter>
  <parameter>
   <name>username</name>
   <value>用户名</value>
  </parameter>
  <parameter>
   <name>password</name>
   <value>密码</value>
  </parameter>
  <parameter>
   <name>driverClassName</name>
   <value>com.mysql.jdbc.Driver</value>
  </parameter>
  <parameter>
   <name>url</name>
   <value>jdbc:mysql://localhost:3306/数据库的名字?autoReconnect=true</value>
  </parameter>
   </ResourceParams>
</Context>
这样就可以了,呵呵.就这么简单.
试试行不行,写个测试程序如下,
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%!
final String JNDINAME = "java:comp/env/jdbc/mldn" ;
%>
<%
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() ;
%>


打开tomcat,运行即可

[size=18][/size]
1 楼 guaguaking 2007-05-31  
在项目里用到了 tomcat的连接池.
设置和LZ的一样.
不过为了 设置为默认站点.我的设置是:
<Context path="" docBase="web工程的目录\WebRoot"
debug="5" reloadable="true" crossContext="true">
这样,就成了默认站点.
但是另外一个问题出现了.
我ajax调用的servlet找不到数据源.
Name jdbc is not bound in this Context
.但是其他的程序执行正常.
能指点下为什么吗?
2 楼 waxd 2007-08-15  
按你说的方法,把工程建好后但独启动tomcat测试可以,可是怎么在jubilder中启动tomcat就会出现下面的错误提示啊

javax.naming.NameNotFoundException: Name jdbc is not bound in this Context