zoukankan      html  css  js  c++  java
  • Tomcat5.0与SqlServer2000配置连接池(jtds驱动)

    软件:
    (1)tomcat5.0
    http://www.apache.org
    (2)jtds.jar
    http://jtds.sourceforge.net/

    (3)jdk1.4
    (4)Sqlserver2000(windows2003系统需要sp3补丁)

    设置环境变量
    (1)CATALINA_HOME
    tomcat的安装路径,如:E:\Tomcat5.0
    (2)CATALINA_BASE
    tomcat的安装路径,如:E:\Tomcat5.0
    (3)JAVA_HOME
    jdk安装路径,如:E:\Program Files\j2sdk1.4.2
    (4)PATH
    %JAVA_HOME%\bin
    (5)class_path
    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar(前面的.和;不能少)

    将jtds.jar放在正确的目录
    只能放在%CATALINA_HOME%\common\lib\目录下

    修改server.xml文件
    改文件位于:;%CATALINA_HOME%\conf\server.xml

    <host></host>
    之间,修改后的内容为:
      
    < Context path = "/tiannet" docBase =
    "E:\tiannet"
            
    debug = "5" reloadable = "true" crossContext = "true"
    >

            <
    Logger className =
    "org.apache.catalina.logger.FileLogger"
                    
    directory = "logs"   prefix = "localhost_log." suffix =
    ".txt"
                
    timestamp = "true"
    />
                
            <
    Resource name =
    "jdbc/connectDB"
                   
    auth =
    "Container"
                   
    type = "javax.sql.DataSource"
    />
        <
    ResourceParams name = "jdbc/connectDB"
    >
          <
    parameter
    >
            <
    name > factory </ name
    >
            <
    value > org . apache . commons . dbcp . BasicDataSourceFactory </ value
    >
          </
    parameter
    >
      
        <
    parameter
    >
          <
    name > removeAbandoned </ name
    >
          <
    value > true </ value
    >
         </
    parameter
    >
         <
    parameter
    >
          <
    name > removeAbandonedTimeout </ name
    >
          <
    value > 60 </ value
    >
         </
    parameter
    >
         <
    parameter
    >
          <
    name > logAbandoned </ name
    >
          <
    value > false </ value
    >
         </
    parameter
    >
            
          <
    parameter
    >
            <
    name > maxActive </ name
    >
            <
    value > 100 </ value
    >
          </
    parameter
    >
          <
    parameter
    >
            <
    name > maxIdle </ name
    >
            <
    value > 30 </ value
    >
          </
    parameter
    >
          <
    parameter
    >
            <
    name > maxWait </ name
    >
            <
    value > 10000 </ value
    >
          </
    parameter
    >
          <
    parameter
    >
           <
    name > username </ name
    >
           <
    value > sa </ value
    >
          </
    parameter
    >
          <
    parameter
    >
           <
    name > password </ name
    >
           <
    value > 123 </ value
    >
          </
    parameter
    >
          <
    parameter
    >
             <
    name > driverClassName </ name
    >
             <
    value > net . sourceforge . jtds . jdbc . Driver </ value
    >
          </
    parameter
    >
          <
    parameter
    >
            <
    name > url </ name
    >
            <
    value > jdbc : jtds : sqlserver :
    //127.0.0.1:1433/tiannet;charset=gb2312</value>
          
    </ parameter
    >
        </
    ResourceParams
    >
      </
    Context
    >


    参数说明
    1) path 指定路径,也就是访问web的路径,这里为
    http://localhost:8080/tiannet
    2) docBase 虚拟目录的路径,绝对路径。如果虚拟目录设置%CATALINA_HOME%\webapps目录的某个子目录下(如tiannet),则可直接写子目录名称(如tiannet)。
    3) reloader 当网页被更新时是否重新编译。
    4) maxActive 连接池的最大数据库连接数。设为0表示无限制。
    5) maxIdle 数据库连接的最大空闲时间。超过此空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制。
    6) maxWait 最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
    7) removeAbandoned 回收被遗弃的(一般是忘了释放的)数据库连接到连接池中。
    8) removeAbandonedTimeout 数据库连接过多长时间不用将被视为被遗弃而收回连接池中。
    9) logAbandoned 将被遗弃的数据库连接的回收记入日志。
    10) driverClassName JDBC驱动程序。
    11)username : 连接数据库的用户名
    12)password : 连接数据库的密码
    13) url 格式化数据库连接字符串(这里的tiannet为数据库名),格式为:

    jdbc:jtds:<server_type>:
    //<server>[:<port>][/<database>][;<property>=<value>[;...]]


    更多url的说明请参照:
    http://jtds.sourceforge.net/faq.html

    将上面的内容修改保存,并重新启动tomcat后,在%CATALINA_HOME%\conf\Catalina\localhost\目录下会多出一个xml文件,这里为:tiannet.xml。现在虚拟目录就生效了。

    修改/WEB-INF/web.xml文件

    在虚拟目录的根目录(这里为:E:\tiannet)下建立WEB-INF目录,在WEB-INF目录下新建一个web.xml文件,基本内容为:

    <?xml version="1.0" encoding="ISO-8859-1"
    ?>
    <web-app> 
      <display-name>tiannet web</display-name>
        <description>connectDB test</description> 
        <resource-ref>
          <description>DB Connection</description>
          <res-ref-name>jdbc/connectDB</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
        </resource-ref> 
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>  
    </web-app>


    注意<res-ref-name>jdbc/connectDB</res-ref-name>的jdbc/connectDB和server.xml文件中的Resource的name属性以及ResourceParams的name属性值是一样的。


    测试连接池的代码

    <%@ page contentType = "text/html;charset=gb2312"
    %>
    <%@
    page import = "java.sql.*"
    %>
    <%@
    page import = "javax.sql.*"
    %>
    <%@
    page import = "javax.naming.*"
    %>

    <
    html
    >
    <
    body
    >
    <%
        
    DataSource ds = null
    ;
        
    Connection conn = null
    ;
        
    ResultSet rs = null
    ;
        
    Statement stmt = null
    ;
        
    InitialContext ctx = null
    ;
        
    String    m_strDriver = "net.sourceforge.jtds.jdbc.Driver" ,        
    // 驱动字符串
                   
    m_strConURL = "jdbc:jtds:sqlserver" ;                       
    // 连接字符串
       
    try
       
    {
               
    ctx =new InitialContext
    ();
               
    ds =( DataSource ) ctx . lookup ( "java:comp/env/jdbc/connectDB" );    
    //注意connectDB的名称和上面一致
               
    conn = ds . getConnection
    ();
               
    stmt = conn . createStatement
    ();

               
    String strSql = " select * from test" ;                        
    //test为数据库中的一个表    
              
    rs = stmt . executeQuery ( strSql
    );
               while(
    rs . next
    ())
               {
                  
    out . println ( rs . getString ( 1 ) + ""
    );                 
                  
    out . println ( rs . getString ( 2 ) + ""
    );
             }
       }
       
    catch ( Exception ex
    )
       {
           
    out . println ( ex . getMessage
    ());
       }
       
    finally
       
    {
               
    rs . close
    ();
               
    stmt . close
    ();
               
    conn . close
    ();
               
    ctx . close
    ();
       }
    %>
    </
    body
    >
    </
    html
    >

    到这里所有的配置就结束了
  • 相关阅读:
    【转】glumer Appium + Python环境搭建(移动端自动化)
    【转】自动化测试
    【转】RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第二篇【原理】
    [转]RobotFrameWork+APPIUM实现对安卓APK的自动化测试----第一篇【安装】
    异常测试实践与梳理
    加关注
    RF上传图片各种失败坑,使用pywin32来操作windows窗体
    2019年1月23日,好像是这个日子,RF发布了 1.7.3.1 支持python3.6以上了,安装成功。
    虚拟化技术基础
    PostgreSQL 写入数据到Excel时出现 Faithfully yours, nginx 错误处理
  • 原文地址:https://www.cnblogs.com/lds85930/p/841924.html
Copyright © 2011-2022 走看看