Tomcat相信大家已经很熟悉了,作为一种免费而强大的java web server,得到了很多java爱好者的青睐,最新版本的tomcat5支持servlet2.4和jsp2.0,今天我将采用Tomcat5和Ms sqlserver 000一起来开始数据库连接池配置之旅。
需要的准备
1、jdk 我使用的版本1.4.01
2、Tomcat 5 我使用的是5.0.16版本 下载地址:http://jakarta.apache.org/site/binindex.cgi
3、Mssql server 2000 数据库
4、Mssql server 2000的官方jdbc driver ,可以到微软的官方网站免费下载

好了在安装完上面的软件之后,就进入配置实战了:)

一、找到jdbc的安装目录,把lib目录下面的msbase.jar和mssqlserver.jar、msutil.jar三个文件一起copy到$CATALINA_HOME/common/lib/($CATALINA_HOME代表的是你的tomcat5的安装目录)

二、用文本编辑器,我这是使用editplus(她可是我的挚爱奥)打开$CATALINA_HOME/conf/server.xml文件,找到配置context的地方,把下面的代码
粘贴到文件里面

<Context path="/DBTest" docBase="D:/rautinee work/db/"
       debug="5" reloadable="true" crossContext="true">

<Logger className="org.apache.catalina.logger.FileLogger"
            prefix="localhost_DBTest_log." suffix=".txt"
            timestamp="true"/>

<Resource name="jdbc/TestDB"
              auth="Container"
              type="javax.sql.DataSource"/>

<ResourceParams name="jdbc/TestDB">
   <parameter>
     <name>factory</name>
     <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
   </parameter>

<!-- Maximum number of dB connections in pool. Make sure you
        configure your mysqld max_connections large enough to handle
        all of your db connections. Set to 0 for no limit.
        -->
   <parameter>
     <name>maxActive</name>
     <value>100</value>
   </parameter>

<!-- Maximum number of idle dB connections to retain in pool.
        Set to 0 for no limit.
        -->
   <parameter>
     <name>maxIdle</name>
     <value>30</value>
   </parameter>

<!-- Maximum time to wait for a dB connection to become available
        in ms, in this example 10 seconds. An Exception is thrown if
        this timeout is exceeded.  Set to -1 to wait indefinitely.
        -->
   <parameter>
     <name>maxWait</name>
     <value>10000</value>
   </parameter>

<!-- MSSQLserver dB username and password for dB connections  -->
   <parameter>
    <name>username</name>
    <value>sa</value>
   </parameter>
   <parameter>
    <name>password</name>
    <value></value>
   </parameter>

<!-- Class name for mssqlserver JDBC driver -->
   <parameter>
      <name>driverClassName</name>
      <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
   </parameter>

<!-- The JDBC connection url for connecting to your mssqlserver dB.-->
   <parameter>
     <name>url</name>
     <value>jdbc:microsoft:sqlserver://localhost:1433;databasename=Northwind</value>
   </parameter>
 </ResourceParams>
</Context>

注意:我本地的数据库的sa的密码为空,数据库使用的是Northwind,我的目录名DBTest,他的目录是D:/rautinee work/db/

打开DBTest下面的web.xml文件,用下面的代码替换原来的内容

<?xml version="1.0" encoding="ISO-8859-1"?>
   <!DOCTYPE web-app PUBLIC
   "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
   "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
 <description>MSSql server Test App</description>
 <resource-ref>
     <description>DB Connection</description>
     <res-ref-name>jdbc/TestDB</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
 </resource-ref>
</web-app>

ok,配置完成,下面的工作是需要编写两个文件测试一下,连接是否成功。

这里我用了http://jakarta.apache.org上面的例子

首先是bean文件

package foo;

import javax.naming.*;
import javax.sql.*;
import java.sql.*;

public class DBTest {

String foo = "Not Connected";
 int bar = -1;
  
 public void init() {
   try{
     Context ctx = new InitialContext();
     if(ctx == null )
         throw new Exception("Boom - No Context");

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

if (ds != null) {
       Connection conn = ds.getConnection();
            
       if(conn != null)  {
           foo = "Got Connection "+conn.toString();
           Statement stmt = conn.createStatement();
           ResultSet rst =
               stmt.executeQuery("select * from orders");
           if(rst.next()) {
              foo=rst.getString("CustomerID");
              bar=rst.getInt("OrderID");
           }
           conn.close();
       }
     }
   }catch(Exception e) {
     e.printStackTrace();
   }
}

public String getFoo() { return foo; }
public int getBar() { return bar;}
}

然后是index.jsp文件

<html>
 <head>
   <title>DB Test</title>
 </head>
 <body>

<%
   foo.DBTest tst = new foo.DBTest();
   tst.init();
 %>

<h2>Ms sql server 2000 java search Results</h2>
   Foo <%= tst.getFoo() %><br/>
   Bar <%= tst.getBar() %>

</body>
</html>
'www.knowsky.com

编译运行,如果不出意外,应该检索到一条记录,

我的ie中显示的是
Ms sql server 2000 java search Results
Foo VINET
Bar 10248

ok,配制成功!

参考文档:
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/jndi-datasource-examples-howto.html 上面有mysql和oracle8i的连接教程,有兴趣的朋友可以上去看一下

Tomcat5+Mssql server 2000数据库连接池配置相关推荐

  1. tomcat5.5.9+sql2000数据库连接池配置

    终于解决了困扰多天的连接池的问题,写下这编文章与大家一起分享.我是在tomcat5.5.9下配置的,tomcat5.5.X和以前的版本有一些差别,所以配置上也有差别.我就说一下在tomcat5.5.9 ...

  2. Tomcat5的数据库连接池配置

    本文主要介绍Tomcat5.0.25这个版本下数据库连接池的配置,及程序对连接池的JNDI查找,并提供相应测试代码.最后指出配置及应用过程中的常见问题及解决方法. 1 .该文的配置环境:Tomcat5 ...

  3. java 数据库连接池配置方式

    一,Tomcat配置数据源: 方式一:在WebRoot下面建文件夹META-INF,里面建一个文件context.xml,内容如下:  <Context>       <Resour ...

  4. java 连接池配置_java数据库连接池配置的几种方式

    关于java数据库连接池配置的几种方式 今天遇到了关于数据源连接池配置的问题,发现有很多种方式可以配置,现总结如下,(已Mysql数据库为例) 一,Tomcat配置数据源: 方式一:在WebRoot下 ...

  5. java 连接池配置_【Java】java数据库连接池配置的几种方法

    今天遇到了关于数据源连接池配置的问题,发现有很多种方式可以配置,现总结如下,希望对大家有所帮助:(已Mysql数据库为例) 一,Tomcat配置数据源: 方式一:在WebRoot下面建文件夹META- ...

  6. mysql数据库连接_mysql数据库连接池配置教程

    在与数据库进行连接的时候,会牵扯到数据库连接池的配置,本文将详细介绍mysql数据库连接池配置,需要了解跟多的朋友可以参考下 第一步:写javabean package withouttears.jd ...

  7. 派尼数据库连接池配置

    4月底去企业现场时,发现用ionic跑在浏览器上的系统,部分接口消耗时间达到数秒的情况. 开会后猜测可能是数据库与服务器连接的问题,于是增加了如下数据库连接池配置. 情况好转. spring.data ...

  8. Tomcat数据库连接池配置沤心沥血而作……

    数据库连接池配置续之Oracle配置首先说一下,今天是全国哀悼日的第三天,也是最后一天,让我们为死者默哀,为伤者祈福吧,但愿苍天不要再给中国人民添乱了,愿天下都平平安安-- 在前几篇文章,我是以pos ...

  9. 国际化使用UTF-8造成数据库MSSQL Server 2000/2005存储乱码的分析

    看了许多网上使用MSSQL Server 2000/2005使用UTF-8造成数据库存储乱码的描述,也说一下自己做的一个国际化项目的经验. 这个项目描述: 架构:VC++的ATL Server进行开发 ...

最新文章

  1. Visual Stodio 2010 待熟悉技巧
  2. 三星i8150 刷机
  3. matlab怎么画二维热力图_1.1交通热力图(2)——基于matlab绘制
  4. Facebook Libra不会和主权货币竞争
  5. 百联全渠道联手神策数据 致力给消费者最优体验
  6. (引)ajax 经验-保留自己使用
  7. 【转】五大方法,彻底永久关闭win10自动更新的方法【已验证有效】
  8. codeblocks安装后提示找不到编译器
  9. 计算机积木游戏,乐高积木模拟器
  10. ueditor 覆盖下拉框问题解决
  11. 去小机化思维(二)--【软件和信息服务】2015.03
  12. 【Linux】Shell 时间运算以及时间差计算方法!
  13. 一名 40 岁“老”程序员的反思
  14. Redis集群功能配置以及Redis Sentinel配置
  15. c语言测试1到3章,c语言谭浩强第1章至第3章测试试题
  16. 计算机的有关英语单词大全,与计算机相关的英语词汇汇总
  17. java面试 socket_java网络编程面试题
  18. win10一根网线连接linux,win10系统使用一根网线连接两台电脑的操作方法
  19. 浏览器做打假助手,边界在哪里?
  20. kafka指定偏移量拉取与偏移量半自动提交

热门文章

  1. yarn client 提交任务
  2. CSS基本选择器、层次选择器、结构伪类选择器、属性选择器
  3. html下拉折叠菜单,原生Js_实现简单的下拉折叠菜单(添加弹出动画效果)
  4. 设计模式之---观察者模式
  5. 期末考试前的预习,科目:化工设备与反应器(2)
  6. 十八、深入Java 访问修饰符和非访问修饰符
  7. 工程制图 (化工工艺流程图绘制 )
  8. 主题模型 LDA,Dirichlet分布 和朴素贝叶斯算法
  9. 一、前端必须掌握HTML的基础知识
  10. MindCon极客周 | 第三届全新席卷而来,SIG英雄帖,做硬核玩家,夺万元大奖!