Tomcat5.5 配置数据库连接池 - JNDI DataSource 设置攻略-V1.0

Tomcat5.5 配置数据库连接池 - JNDI DataSource 设置攻略-V1.0

  最近打算做一个网站,完全采用共享软件(Web server:tomcat5.5,DB:mysql5.0, JDK:jdk5.0,也是为了响应共享精神。为了保证网站的访问速度,考虑使用数据库连接池。研究了一番,参考综合了许多网友的信息,配制成功。现在把整个过程记录如下,仅供参考。
准备
下载所需软件:(搜索到官方网站下载)
1. jdk-1_5_0_06-windows-i586-p.exe
2. mysql-essential-5.0.18-win32.msi
        (mysql-query-browser-1.1.20-win.msi,mysql-administrator-1.1.9-win.msi)mysql辅助工具.
3. mysql-administrator-1.1.9-win.msi
4. mysql-connector-java-5.0.0-beta.zip   jdbc driver
5. commons-dbcp-1.2.1.zip  connection pool classes 
动作
1。安装 JDK,Tomcat,Mysql. 不再赘述。
2。mysql-connector-java-5.0.0-beta和commons-dbcp-1.2.1解压,
    将解压后的.jar文件复制到Tomcat\common\lib下.
 
3. 配置D:\Tomcat 5.5\conf\server.xml在server.xml 不要使用Tomcat Admin配置。
               <GlobalNamingResources>
                </GlobalNamingResources>之间的最后添加:
<Resource name="mysqlDBConPool" 
        type="javax.sql.DataSource" 
        driverClassName="com.mysql.jdbc.Driver" 
        password="dbpwd" 
        maxIdle="2" 
        maxWait="5000" 
        username="dbuser" 
        url="jdbc:mysql://localhost:3306/yourDBName" 
        maxActive="4"/>
 

4。配置Tomcat\webapps\yoursApp\WEB-INF\web.xml         --注释:你得webapp name
 <web-app></web-app>
 <resource-ref>
     <description>my DB Connection</description>
     <res-ref-name>mysqlDBConPool</res-ref-name>   -- must same as server.xml
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
 </resource-ref>
 

5。新建\Tomcat\webapps\yoursApp\META-INF\context.xml, 如下:
<?xml version='1.0' encoding='utf-8'?>
<Context path="/yoursApp" docBase="yoursApp" 
debug="5"   
reloadable="true" 
crossContext="true">
<ResourceLink name="mysqlDBConPool" global="mysqlDBConPool" type="javax.sql.DataSource"/>

</Context>

6。 JSP 文件测试。jsp1.jsp

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page errorPage="jsp1_error.jsp" %>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page session="false" %>
<html>
<head>
<title>
jsp1
</title>
</head>

<body bgcolor="#ffffff">

<h1>
Test Of MySQL connection pool
</h1>
<%
try
{

Context intCtx1 = new InitialContext();
Context ctx1 = (Context) intCtx1.lookup("java:comp/env");
Object obj = (Object) ctx1.lookup("mysql8341uniondb");
javax.sql.DataSource ds1 = (javax.sql.DataSource) obj;
out.println(ds1.toString()) ;
Connection conn1 = ds1.getConnection();
out.println("db1 get ds1 success!!<br>") ;

out.println("db1 mysql8341uniondb connection pool runs perfectly!");
conn1.close(); 
}
catch(Exception ex)
{
out.print(ex.getMessage());
ex.printStackTrace();
}
%>
<form method="post">
<br>Enter new value : <input name="sample"><br>
<br><br>
<input type="submit" name="Submit" value="Submit">
<input type="reset" value="Reset">
</form>
</body>
</html>
 

7。 重新启动Tomcat.  哈哈。连接成功了。那么下一步就是数据库变成的了。

8。Cannot create JDBC driver of class for connect URL null 
   如果有这个错。Copy \Tomcat\webapps\yoursApp\META-INF\context.xml
    到 Tomcat\conf\Catalina\localhost 下。重新命名为 yoursApp.xml
   重新启动Tomcat.  哈哈。连接成功了
9。 不知道为什么Tomcat 不能自动加载context.xml 为Tomcat\conf\Catalina\localhost  yoursApp.xml

10。大功告成。 

希望与各位共同进步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值