打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
配置Tomcat5.0的MySQL数据库连接池(二)
第四步:
写一测试代码来测试一下刚才所做的一些吧,新建一个mysqlpool.jsp文件
内容如下:

<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page session="false" %>
<%@ page contentType="text/html;charset=gb2312" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
<%
   out.print("连接池测试开始<br>");

   DataSource ds = null;

   try{

   InitialContext ctx=new InitialContext();

   ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysqlpool");

   Connection conn = ds.getConnection();

   Statement stmt = conn.createStatement();

   String strSql = " select * from user";

   ResultSet rs = stmt.executeQuery(strSql);

   while(rs.next()){

      out.print(rs.getString(1)+" ");

      out.print(rs.getString(2)+" ");

      out.print(rs.getString(3)+" ");

      out.print(rs.getString(4)+" ");

      out.print(rs.getString(5)+" ");  
     
      out.print(rs.getString(6)+"<br>");                 

     }
     out.print("测试结束");
   }
   catch(Exception ex){
  
   out.print("出现例外,信息是:"+ex);
  
   ex.printStackTrace();
   }

%>
</head>
<body>
</body>
</html>

代码结束。

ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysqlpool");这条代码表示找名字叫jdbc/mysqlpool的DataSource。

在浏览器的地址栏输入: http://localhost://8080/yourweb/mysqlpool.jsp 出现了

连接池测试开始
localhost root 4a537f9733eb2bf4 Y Y Y
% root *13079F362E38088B725A0134245BEEA4F67AD89D Y Y Y
测试结束

恭喜你,你成功了!


注意:以上方法是在Tomcat5.028下调试成功的,我相信Tomcat5.X版本的通过这种方式也是可以达到一样有效果的。

还有一种方法也是可以配置数据库连接池的,我说明下
在%TOMCAT_HOME%\conf\Catalina\localhost\yourweb.xml的<Context></Context>之间加入以下代码就可以了,一步搞定

<Resource auth="Container" description="MySQL Connection Pool" name="jdbc/mysql" type="javax.sql.DataSource"/>
    <ResourceParams name="UserDatabase">
      <parameter>
        <name>factory</name>
        <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
      </parameter>
      <parameter>
        <name>pathname</name>
        <value>conf/tomcat-users.xml</value>
      </parameter>
    </ResourceParams>
    <ResourceParams name="jdbc/mysqlpool">
      <parameter>
        <name>maxWait</name>
        <value>5000</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>4</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>yusaihua</value>
      </parameter>
      <parameter>
        <name>url</name>
        <value>jdbc:mysql://localhost/mysql?autoReconnect=true&useUnicode=true&characterEncoding=GB2312</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>com.mysql.jdbc.Driver</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>2</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>root</value>
      </parameter>
    </ResourceParams>

不需要通过 http://127.0.0.1:8080/admin 来添加数据库源,呵呵,比较简单吧!

  以上这些都是我花了二天才弄出来的,没有找人帮忙,当时真的要疯掉了,一个这么简单的东西,哎,网上的东西多,但是太多错误了,我给出我调试程序时出现过的错误,和我的解决方案,希望能帮助大家,祝大家工作愉快 :)

1)错误提示:
javax.naming.NameNotFoundException: Name mysqlpool is not bound in this Context
->表示没有找到叫"mysqlpool"的数据源。

a)请检查连接池配置文件%TOMCAT_HOME\conf\server.xml中的<Resource name="jdbc/mysqlpool" type="javax.sql.DataSource"/>是不是和mysqlpool.jsp里面的ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysqlpool")一致

b)请检查你%TOMCAT_HOME%\conf\Catalina\localhost\yourweb.xml里面是否有
<ResourceLink name="jdbc/mysqlpool" global="jdbc/mysql" type="javax.sql.DataSourcer"/>代码。

2)错误提示:
org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
->说明dbcp没有发现JDBC驱动'com.mysql.jdbc.Driver',请检查你的%TOMCAT_HOME%\common\lib\下面是否有MySQL的JDBC驱动程序,或者是不是下版本有问题,到http://dev.mysql.com/downloads/connector/j/3.1.html下载最新的版本。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
tomcat连接池的配置与使用(mysql)
Java程序中连接池、及参数绑定实现
XX报名程序优化总结
Java开源Blog实现,Roller 2.0 的安装手记!
tomcat中的开发应用系统常见的配置
JIRA安装总结
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服