此文章主要向大家讲述的是Tomcat+SQL Server2000连接池的实际配置,在进过一段的折腾之后终于破解了困扰多天的连接池的问题,写下这编文章与大家一起分享。我是在tomcat5.5.9下配置的,tomcat5.5.X和以前的版本有一些差别。
所以Tomcat+SQL Server2000连接池配置上也有差别。我就说一下在tomcat5.5.9配置的基本步骤:(确定你以安装好tomcat5.5.9、sql2000)
1、把数据库JDBC驱动拷贝到%TOMCAT_HOME%/common/lib和%TOMCAT_HOME%/webapps/yourweb/WEB-INF/lib下(我的web文件夹名字叫quickstart)
这一步大家都知道,不然tomcat无法与数据库连接。
2、修改%TOMCAT_HOME%/conf/server.xml文件,在 <GlobalNamingResources></GlobalNamingResources>之间
添加以下内容:
<Resource name="jdbc/quickstart" type="javax.sql.DataSource" password="123456" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle="2" maxWait="5000" username="sa" url="jdbc:microsoft:sqlserver://localhost;DatabaseName=quickstart" maxActive="4"/>
以上内容根据大家的具体情况进行相应修改,比如:把name="jdbc/quickstart"中的quickstart改成和你web文件夹名称一样,把password="123456"中的“123456”改成你数据库的密码。
3、在%TOMCAT_HOME%/conf/Catalina/localhost下新建一个与你web文件夹同名的xml文件(我的是quickstart.xml)
这一步非常重要,假如没有这步就会出错,会出现org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
这样的错误,在文件中加入第2步的内容,如下:
< xml version="1.0" encoding="UTF-8" ><Context> <Resource name="jdbc/quickstart" type="javax.sql.DataSource" password="123456" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle="2" maxWait="5000" username="sa" url="jdbc:microsoft:sqlserver://localhost;DatabaseName=quickstart" maxActive="4"/> </Context>
根据个人具体情况进行相应修改。
4、修改%TOMCAT_HOME%/webapps/yourweb/WEB-INF下的web.xml文件,在<web-app></web-app>之间添加以下内容
<resource-ref> <description>sqlserverDB Connection</description> <res-ref-name>jdbc/quickstart</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
把<res-ref-name>jdbc/quickstart</res-ref-name>中的quickstart改成你的web文件夹名称。
5、测试,在quickstart下新建一个index.jsp文件
<%@ page contentType="text/html; charset=gb2312" %><%@ page import="javax.naming.*" %><%@ page import="javax.sql.*" %><%@ page import="java.sql.*" %><html><head><title>JDBC Test</title></head><body><% Connection conn=null; Statement stmt=null; ResultSet rs=null; ResultSetmetaData md=null; try { Context initCtx=new InitialContext(); DataSource ds=(DataSource)initCtx.lookup("java:comp/env/jdbc/quickstart"); if(ds!=null) { out.println("已经获得DataSource"); out.println(ds.toString()); conn=ds.getConnection(); stmt=conn.createStatement(); out.println("aa"); rs=stmt.executeQuery("select * from cat"); md=rs.getMetaData(); out.println("<table border=1>"); out.println("<tr>"); for(int i=0;i<md.getColumnCount();i++) { out.println("<td>"+md.getColumnName(i+1)+"</td>"); } while(rs.next()) { out.println("<tr>"); out.println("<td>"+rs.getString(1)+"</td>"); out.println("<td>"+rs.getString(2)+"</td>"); out.println("<td>"+rs.getString(3)+"</td>"); out.println("<td>"+rs.getString(4)+"</td>"); out.println("</tr>"); } out.println("</table>"); conn.close(); } } catch(Exception e) { out.println(e.toString()); System.out.println(e.toString()); }%></body></html>
运行tomcat服务器,在浏览器中输入http://localhost:8080/quickstart/index.jsp看看成功了没有。以上的相关内容就是对Tomcat+SQL Server2000连接池配置的介绍,望你能有所收获。
很多使用Windows 7系统的朋友都想小编反应,假如暂停使用电脑,鼠标会出现停顿现象,这是怎么回事呢 该怎么解决呢 下面就和小编一起去看下Windows 7 usb鼠标停顿的解决方法吧。 由于Windows 7系统中有一项USB选择性暂停造成的。这项设置主要为了节电,当他检测到用户没有对系统进行...
我一个朋友最近装装了Windows 7,他总感觉有人用了他的电脑,但是一直不确定,他想知道有没有人动用他的电脑,问我有没有办法 我说设置一下就行了: 启动Windows 7,在搜索栏中输入编辑组,马上就搜索到了编辑组策略,点击即可启动程序编辑组策略。依次展开组策略左侧树形列表的计算机配置/管理模...
一些用户的Windows 7系统开机后出现黑屏,代码为 Windows无法启动: WindowsSystem32ConfigSystem”。这个问题该如何修复呢?现在小编就给大家分析一下吧。 其实这个代码的意思是引导文件丢失了,引导文件(NTLDR)一般存放于C盘根目录下,是一个具有隐藏和只读属性...
重装系统是我们面对许多电脑问题时的终极方法,不过重装系统也不意味着就能将全部的问题都修复。一些用户在重装系统后开机时,电脑卡在“正在启动Windows”开机界面上了,这要怎么解决呢? Windows 7系统重装后卡在开机界面的解决方法: 一、首先可以看看该故障出现的原因是否是因为启动了acp...
问:我在Windows 7 Ultimate X64下播放电影视频时,不管什么格式都会蓝屏,错误代码“0x00000124”。换解码器、播放器不行,换驱动、内存也不管用。在不同的电脑上也试过,仍然蓝屏。请问是哪里的问题,如何解决 答:64位 Windows 7直接使用PotPlayer x64就...
Windows 7系统可以对每个文件夹进行个性化视图设置,可以根据自己的个人喜好和实际需要更改文件或文件夹图标的大小,或者让文件或文件夹以列表、平铺等方式显示。但是,假如你对N个文件夹视图进行了风格各异的个性设置,现在又想让所有文件夹都使用同一种视图怎么办呢 手工一个一个修改,你OUT了,非累得手抽...