Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 257|回复: 0

[JDBC学习]Tomcat5 + Mssql server 2000 数据库连接池配置之旅

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-11 06:21:42 | 显示全部楼层 |阅读模式
    Tomcat相信大家已经很熟悉了,作为一种免费而强大的java   web   server,得到了很多java爱好者的青睐,tomcat5支持Servlet2.4和jsp2.0,今天我将采用Tomcat5和mssql server 2000一起来开始数据库连接池配置之旅。

    需要的准备

    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:        estjdbc" 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>8345660</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://10.10.1.1:1433;databasename=Northwind</value>
    </parameter>
    </ResourceParams>
    </Context>

    打开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文件
    1. package foo;
    2. import javax.naming.*;
    3. import javax.sql.*;
    4. import java.sql.*;
    5. public class DBTest {
    6.   String foo = "Not Connected";
    7.   int bar = -1;
    8.    
    9.   public void init() {
    10.     try{
    11.     Context ctx = new InitialContext();
    12.     if(ctx == null )
    13.         throw new Exception("Boom - No Context");
    14.     DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/TestDB");
    15.     if (ds != null) {
    16.       Connection conn = ds.getConnection();
    17.       if(conn != null)   {
    18.         foo = "Got Connection "+conn.toString();
    19.         Statement stmt = conn.createStatement();
    20.         ResultSet rst = stmt.executeQuery("select * from orders");
    21.         if(rst.next()) {
    22.           foo=rst.getString("CustomerID");
    23.           bar=rst.getInt("OrderID");
    24.         }
    25.         conn.close();
    26.       }
    27.     }
    28.     }catch(Exception e) {
    29.     e.printStackTrace();
    30.     }
    31.   }
    32.   public String getFoo() { return foo; }
    33.   public int getBar() { return bar;}
    34. }
    复制代码
    然后是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>


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

    我的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

    //***************如果您要转载上面的文章,请保留此信息,谢谢!**********
    作者   海仔     email:rautinee@21cn.com     http://www.tryitsoft.com
    //***************如果您要转载上面的文章,请保留此信息,谢谢!**********



      
      
       
       

         
       

         
       
      

      

      










    源码下载:http://file.javaxxz.com/2014/10/11/062141359.zip
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-2-26 07:09 , Processed in 0.420880 second(s), 36 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表