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
>

到这里所有的配置就结束了
原文地址:https://www.cnblogs.com/lds85930/p/841924.html