文章主要描述的是Tomcat+SQL Server2000连接池的正确配置,终pps了是我头疼N天的连接池的问题,此文章主要是与大家一起分享 。我是在tomcat5.5.9下配置的,tomcat5.5.X和以前的版本有一些差别,所以配置上也有差别 。
我就说一下在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文件,在 之间
Tomcat+SQL Server2000连接池配置之添加以下内容:
- <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>
Tomcat+SQL Server2000连接池配置之根据个人具体情况进行相应修改 。
4、修改%TOMCAT_HOME%/webapps/yourweb/WEB-INF下的web.xml文件,在之间添加以下内容
- <resource-ref>
- <description>sqlserverDB Connectiondescription>
- <res-ref-name>jdbc/quickstartres-ref-name>
- <res-type>javax.sql.DataSourceres-type>
- <res-auth>Containerres-auth>
- resource-ref>
把jdbc/quickstart中的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 Testtitle>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连接池配置的描述,希望会给你带来一些帮助在此方面 。