选择显示字体大小

tomcat5+mssql server 2000数据库连接池配置之旅

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 v.net
bar 10248

ok,配制成功!

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

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


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons