Tomcat 6.0+ SQL Server 2005连接池的配
转自:http://blog.csdn.net/zzz_robinson/article/details/5570748
在Tomcat作为服务器调试JSP时,可以通过配置数据库连接池,实现简单配置。
下面是配置连接SQL Server 2005 Express的过程,JDBC为Microsoft的Microsoft SQL Server 2005 JDBC Driver1.2。
首先要保证能够正常调试JSP,也就是安装JSDK,和Tomcat,我选择的较旧的版本,j2sdk1.4.2_06和Tomcat 5.0.16。
安装完成后配置ClassPath,(安装目录为:D:/j2sdk1.4.2_06和D:/Program Files/Apache Software Foundation/Tomcat 5.0)
1、配置系统变量JAVA_HOME:D:/j2sdk1.4.2_06
2、系统变量CATALINA_HOME:/Program Files/Apache Software Foundation/Tomcat 5.0
CATALINA_BASE:D:/Program Files/Apache Software Foundation/Tomcat 5.0
3、配置系统变量classpath:
.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;D:/Program Files/Apache Software Foundation/Tomcat 5.0/common/lib/servlet-api.jar
4、在系统变量Path最后添加:%JAVA_HOME%/bin
5、将JDBC1.2安装目录下的sqljdbc.jar,复制到D:/Program Files/Apache Software Foundation/Tomcat 5.0/common/lib,将D:/j2sdk1.4.2_06/lib/tools.jar也复制到该目录。
以上配置完成后重新启动计算机,使设置生效,然后启动Tomcat,打开http://localhost:8080/,Tomcat的欢迎画面说明成功。
下面是数据库的配置,SQL Server 2005 Express在安装完成后是不允许通过TCP/IP连接的,因此需要配置:
进入SQL Server 2005 Express配置工具--SQL Server 外围应用配置器,在服务和连接的外围应用配置器中,配置使用TCP/IP连接。如下图:
配置完成后,重新启动SQLServer服务
可以配置SQL SERVER安全性,允许设定的用户连接,而不是使用sa进行连接。
另外值得注意的是,需要设置SQL SERVER使用SQL SERVER的身份验证模式:
在SQL SERVER Management Studio对象资源管理器中,右击服务器实例名称,在属性窗口中设置使用SQL SERVER和Windows 身份验证模式:
此时,便可以使用你创建的用户来访问SQL SERVER了,这里我创建了一个数据库Teacherinfo,并创建用户teacher,密码123456,来作为数据库OWER,通过网络访问
下面开始Tomcat 的配置:
1、进入http://localhost:8080/,打开Tomcat Administrator,登入,选择Data Sources,然后选择创建新的数据源,名称为MSSQL,需要在程序中使用,可以随便取,最好有标示作用:
配置说明:
JNDI Name:注册到JNDI树上的名字(可以随便写)
Data Source URL:连接数据库的URL
JDBC Driver Class:Jbdc数据库的驱动名称
User Name:访问数据库的用户
Password:访问数据库的密码
Max. Active Connections:最大活跃连接数,指同时可以有多少个连接,设置为0没有限制
Max. Idle Connections:最大空闲连接数,表示没有数据库连接时,连接池也必须保持最大空闲连接数,设置为0没有限制
Max. Wait for Connection:连接建立等待时间,单位为毫秒,设置为-1无限制
Validation Query::此参数用来查询池中的空闲连接(可以不配置)
注意:在SQL SERVER 2005中连接项与SQL SERVER 2000不同:
<Resource type="javax.sql.DataSource" name="MSSQL"/> <ResourceParams name="MSSQL"> <parameter> <name>url</name> <value>jdbc:sqlserver://localhost:1433;DatebaseName=teacherinfo</value> </parameter> <parameter> <name>password</name> <value>123456</value> </parameter> <parameter> <name>maxActive</name> <value>4</value> </parameter> <parameter> <name>maxWait</name> <value>5000</value> </parameter> <parameter> <name>driverClassName</name> <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value> </parameter> <parameter> <name>username</name> <value>teacher</value> </parameter> <parameter> <name>maxIdle</name> <value>2</value> </parameter> </ResourceParams> |
2、配置完成了,下面就是如何应用到程序中去了,假设有一个WEB应用程序,mclass可以通过http://localhost:8080/mclass 的形式访问,那么在:D:/Program Files/Apache Software Foundation/Tomcat 5.0/conf/Catalina/localhost目录中应该有一个mclass.xml文件,内容至少应该包含如下:
<Context path="/mclass" displayName="Welcome to Tomcat" docBase="F:/mclass"></Context> |
现在在<Context></Context>之间添加上数据库连接的内容,否则该程序将无法使用连接池,添加后如下(内容是从server.xml中复制过早来的):
<Context path="/mclass" displayName="Welcome to Tomcat" docBase="F:/eclipse/workspace/mclass"> <Resource type="javax.sql.DataSource" name="MSSQL"/> <ResourceParams name="MSSQL"> <parameter> <name>url</name> <value>jdbc:sqlserver://localhost:1433;DatebaseName=teacherinfo</value> </parameter> <parameter> <name>password</name> <value>123456</value> </parameter> <parameter> <name>maxActive</name> <value>4</value> </parameter> <parameter> <name>maxWait</name> <value>5000</value> </parameter> <parameter> <name>driverClassName</name> <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value> </parameter> <parameter> <name>username</name> <value>teacher</value> </parameter> <parameter> <name>maxIdle</name> <value>2</value> </parameter> </ResourceParams> </Context> |
3、现在当然还不可以,需要配置程序目录中的web.xml,本程序在F:/mclass
打开F:/mclass/WEB-INF中的web.xml,添加如下代码,到<web-app></web-app>之间
<resource-ref> <description>sqlserverDB Connection</description> <res-ref-name>MSSQL</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> |
description是描述,自己定义
res-ref-name是连接的名称,必须与在Tomcat中连接池的名称一致,此处是MSSQL
res-type当然是javax.sql.DataSource了
res-auth是程序中使用的
至此,配置完全完成,下面就是测试了,首先重新启动Tomcat,以使配置生效,然后在F:/mlass中创建一个文件如test.jsp,内容可以参考如下代码:
<%@ page contentType="text/html;charset=GBK"%> //获取字段名称,作为表格第一行 out.println("</tr>"); //显示获取的表格数据 //关闭连接,此处关闭连接,只是将其又放回到连接池中,还可以再次使用 <</body> |