进行中  
。。。
日历
<2006年8月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789
统计
  • 随笔 - 13
  • 文章 - 1
  • 评论 - 3
  • 引用 - 0

导航

常用链接

留言簿(1)

随笔档案

文章档案

相册

link

搜索

  •  

最新随笔

最新评论

阅读排行榜

评论排行榜

 
tomcat5.5.9+sql2000数据库连接池配置的一些心得体会

作者:chiefboy




版权声明:本文可以自由转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明
作者:叶枫
原 文:[http://www.matrix.org.cn/resource/article/44/44021_tomcat_sql2000.html]http://www.matrix.org.cn/resource/article/44/44021_tomcat_sql2000.html[/url]
关键字:tomcat sql2000

     终于解决了困扰多天的连接池的问题,写下这编文章与大家一起分享。我是在tomcat5.5.9下配置的,tomcat5.5.X和以前的版本有一些差 别,所以配置上也有差别。我就说一下在tomcat5.5.9配置的基本步骤:(确定你以安装好tomcat5.5.9、sql2000)

1、把数据库JDBC驱动拷贝到%TOMCAT_HOME%/common/lib和%TOMCAT_HOME%/webapps/yourweb/WEB-INF/lib下(我的web文件夹名字叫quickstart)
这一步大家都知道,不然tomcat无法与数据库连接。

2、修改%TOMCAT_HOME%/conf/server.xml文件,在  <GlobalNamingResources></GlobalNamingResources>之间
添加以下内容:
    
<Resource
      name="jdbc/quickstart"
      type="javax.sql.DataSource"
      password="123456"
      driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
      maxIdle="2"
      maxWait="5000"
      username="sa"
      url="jdbc:microsoft:sqlserver://localhost;DatabaseName=quickstart"
      maxActive="4"/>


以上内容根据大家的具体情况进行相应修改,比如:把name="jdbc/quickstart"中的quickstart改成和你web文件夹名称一样,把password="123456"中的“123456”改成你数据库的密码。

3、在%TOMCAT_HOME%/conf/Catalina/localhost下新建一个与你web文件夹同名的xml文件(我的是quickstart.xml)
这一步非常重要,如果没有这步就会出错,会出现
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null' 


这样的错误,在文件中加入第2步的内容,如下:

<?xml version="1.0" encoding="UTF-8"?>
<Context>
     <Resource
      name="jdbc/quickstart"
      type="javax.sql.DataSource"
      password="123456"
      driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
      maxIdle="2"
      maxWait="5000"
      username="sa"
      url="jdbc:microsoft:sqlserver://localhost;DatabaseName=quickstart"
      maxActive="4"/>
</Context>


根据个人具体情况进行相应修改。

4、修改%TOMCAT_HOME%/webapps/yourweb/WEB-INF下的web.xml文件,在<web-app></web-app>之间添加以下内容

 <resource-ref>

    <description>sqlserverDB Connection</description>

    <res-ref-name>jdbc/quickstart</res-ref-name>

    <res-type>javax.sql.DataSource</res-type>

    <res-auth>Container</res-auth>

  </resource-ref>


把<res-ref-name>jdbc/quickstart</res-ref-name>中的quickstart改成你的web文件夹名称。

5、测试,在quickstart下新建一个index.jsp文件

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="java.sql.*" %>
<html>
<head>
<title>JDBC Test</title>
</head>
<body>
<%
        Connection conn=null;
        Statement stmt=null;
        ResultSet rs=null;
        ResultSetMetaData md=null;

        try
        {
                Context initCtx=new InitialContext();
                
                DataSource ds=(DataSource)initCtx.lookup("java:comp/env/jdbc/quickstart");
                if(ds!=null)
                {
                        out.println("已经获得DataSource");
                        out.println(ds.toString());
                        conn=ds.getConnection();
                        stmt=conn.createStatement();
                        out.println("aa");
                        rs=stmt.executeQuery("select * from cat");
                        md=rs.getMetaData();
                        out.println("<table border=1>");
                        out.println("<tr>");
                        for(int i=0;i<md.getColumnCount();i++)
                        {
                                out.println("<td>"+md.getColumnName(i+1)+"</td>");

                        }
                        while(rs.next())
                        {
                                out.println("<tr>");
                                out.println("<td>"+rs.getString(1)+"</td>");
                                out.println("<td>"+rs.getString(2)+"</td>");
                                out.println("<td>"+rs.getString(3)+"</td>");
                                out.println("<td>"+rs.getString(4)+"</td>");
                                out.println("</tr>");
                        }

                        out.println("</table>");
                        conn.close();
                }
                
        }
        catch(Exception e)
        {
                out.println(e.toString());
                System.out.println(e.toString());
        }
%>
</body>
</html>
posted on 2006-08-23 17:24 kongjia 阅读(413) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 
 
Copyright © kongjia Powered by: 博客园 模板提供:沪江博客