首页 > 开发 > SQL Server > 正文

Tomcat+SQL Server2000连接池配置

2020-02-05 13:44:43
字体:
来源:转载
供稿:网友
  终于解决了困扰多天的连接池的问题,写下这编文章与大家一起分享。我是在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文件,在 <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看看成功了没有。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表