Tomcat5+Mssql server 2000数据库连接池配置之旅_JSP编程

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的连接教程,有兴趣的朋友可以上去看一下。

作者 海仔  email:rautinee@21cn.com  http://www.tryitsoft.com

时间: 2024-08-29 02:27:24

Tomcat5+Mssql server 2000数据库连接池配置之旅_JSP编程的相关文章

Tomcat+SQL Server 2000连接池配置

终于解决了困扰多天的连接池的问题,写下这编文章与大家一起分享.我是在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) 这一步大家都知

SQL Server 2000数据库连接

server|数据|数据库|数据库连接 SQL Server 2000数据库连接   目录   1         SQL Server 2000服务和实例... 1 2         SQL Server 2000数据库应用结构... 2 3         SQL Server 2000安全管理... 2 3.1       服务组件的启动帐户.... 2 3.2       客户端连接用户管理... 2 4         SQL Server 2000数据库连接常见故障及处理方法...

Resin2.1.12的数据库连接池配置

数据|数据库|数据库连接 (摘自JAVA中文站) Resin的确是比较狠的应用服务器,运行速度快,配置又简单!这里介绍一下Resin2.1.12的数据库连接池配置方法. 在%ResinHome%/conf/resin.conf中找到 <!-- - Sample database pool configuration - The JDBC name is java:comp/env/jdbc/test --> 在其下加入相应的信息可以连接到不同的数据库. Mysql: <resource-

Tomcat5.5数据库连接池配置指南

      今天终于把Tomcat的数据库连接池问题搞定了.我这个美国的同类真是的,每次版本变化,配置文件都要变.网络上多是讲5.0的,5.5的有所更改,我参照网上一位朋友的说明,修改了一下,终于配置成功.唉,谁叫咱英文功底不足呢. 我用的数据库是MySQL5.0,所以首先要把MySQL的JDBC驱动程序拷贝到Tomcat安装目录的/common/lib下和你自己网站的/WEB-INF/lib下. Server.xml的修改我推荐使用Tomcat的Admin组件完成,完全图形化配置,相当容易.或

Tomcat4.1.31的数据库连接池配置

数据|数据库|数据库连接 (摘自JAVA中文站) 本文是作者在配置廖兄的blog时用到的,刚开始使用Tomcat5.0.27,后又使用Tomcat5.5.4,但是配置数据库总有错误,后来发现时context标志被取消的缘故.吾本性情中人,搞不定就换,于是就使用Tomcat4.1.31.主要参考FanyHan等人的相关文章,介绍了Tomcat4.1.31这个版本下数据库连接池的配置,及程序对连接池的JNDI查找,并提供相应测试代码.最后指出配置及应用过程中的常见问题及解决方法. 一. Tomcat

SQL Server 2000的安全配置

server|安全 在进行SQL Server 2000数据库的安全配置之前,首先你必须对*作系统进行安全配置, 保证你的*作系统处于安全状态.然后对你要使用的*作数据库软件(程序)进行必要的安全审核, 比如对ASP.PHP等脚本,这是很多基于数据库的WEB应用常出现的安全隐患, 对于脚本主要是一个过滤问题,需要过滤一些类似 , ' @ / 等字符,防止破坏者构造恶意的SQL语句. 接着,安装SQL Server2000后请打上补丁sp1以及最新的sp2. 下载地址是:http://www.mi

SQL Server 2000的安全配置_MsSql

SQL Server 2000的安全配置在进行SQL Server 2000数据库的安全配置之前,首先你必须对操作系统进行安全配置,保证你的操作系统处于安全状态.然后对你要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP.PHP等脚本,这是很多基于数据库的WEB应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似 , ' ; @ / 等字符,防止破坏者构造恶意的SQL语句.接着,安装SQL Server2000后请打上补丁sp1以及最新的sp2. 下载地址是:http:

Tomcat 5.5 数据库连接池配置_Tomcat

Server.xml的修改我推荐使用Tomcat的Admin组件完成,完全图形化配置,相当容易.或者按下面的写法在< GlobalNamingResources>< /GlobalNamingResources>之间写如下配置(仅供参考,各位用的时候,请改成自己数据库的配置): 复制代码 代码如下: <Resource name="jdbc/mysql" type="javax.sql.DataSource" password=&quo

JBuilder9+SQL SERVER 2000数据库连接技巧

server|技巧|数据|数据库|数据库连接 最近公司准备做一个小项目,DB用SQL SERVER 2000,开发平台为Java2,开发工具使用JBuilder9,所以我仔细分析了一下在此情况下的数据库连接方法.其实大家都知道,Java与DB的连接主要分为四种类型: (1)Type1:使用JDBC-ODBC桥实现DB连接,此方法适合于在WINDOWS平台上使用,缺点是不能在APPLET上使用,如果要在客户端实现DB通信,那么必须设置ODBC数据源. (2)Type2:作用Native-API桥实