我的tomcat的连接池的配置是: <WatchedResource>WEB-INF/web.xml </WatchedResource> 
    <Resource name="jdbc/sqlserver" suth="Container" type="javax.sql.DataSource"  maxActive="100" maxIdle="30" maxWait="10000" 
    username="tom" password="cat" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=guestbook "/> 用数据源获得连接的程序是:package com.example; import java.sql.SQLException; 
import javax.naming.Context; 
import javax.naming.InitialContext; 
import javax.naming.NamingException; 
import javax.sql.DataSource; 
import org.apache.commons.dbutils.QueryRunner; 
import org.apache.commons.dbutils.ResultSetHandler; public class Sqlserver { private DataSource ds; 
private String datasourcename; public Sqlserver() { } public Sqlserver(String datasourcename) { 
this.datasourcename = datasourcename; 
} public void setDatasourcename(String datasourcename) { 
this.datasourcename = datasourcename; 
} public void init() { 
try { 
Context context = new InitialContext(); 
ds = (DataSource) context.lookup(datasourcename); 
context.close(); 
} catch (NamingException e) { 
e.printStackTrace(); 

} public int update(String sql, String[] params) { 
int result = 0; 
QueryRunner qr = new QueryRunner(ds); 
try { 
result = qr.update(sql, params); 
} catch (SQLException e) { e.printStackTrace(); 
} return result; 
} @SuppressWarnings("deprecation") 
public Object query(String sql, String[] params, ResultSetHandler rsh) { 
Object result = null; 
QueryRunner qr = new QueryRunner(ds); 
try { 
result = qr.query(sql, params, rsh); 
} catch (SQLException e) { 
e.printStackTrace(); 

return result; 

} 运行时抛出:HTTP Status 500 - -------------------------------------------------------------------------------- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: An exception occurred processing JSP page /addMessageHandler.jsp at line 31 28: 
29: db.setDatasourcename("java:/comp/env/jdbc/sqlserver"); 
30: db.init(); 
31: result=db.update(sql,params); 
32: if(result==0){%> 
33: 瀵逛笉璧凤紝鎮ㄧ殑鐣欒█娌℃湁娣诲姞鎴愬姛锛岃閲嶆柊杈撳叆! <br> 
34: <a href=' <%=context%>/addMessage.jsp'>鐐规閲嶆柊杈撳叆 </a> 
Stacktrace: 
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505) 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
root cause javax.servlet.ServletException: java.lang.AbstractMethodError: com.microsoft.jdbc.base.BasePreparedStatement.getParameterMetaData()Ljava/sql/ParameterMetaData; 
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:852) 
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781) 
org.apache.jsp.addMessageHandler_jsp._jspService(addMessageHandler_jsp.java:175) 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
root cause java.lang.AbstractMethodError: com.microsoft.jdbc.base.BasePreparedStatement.getParameterMetaData()Ljava/sql/ParameterMetaData; 
org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.getParameterMetaData(DelegatingPreparedStatement.java:223) 
org.apache.commons.dbutils.QueryRunner.fillStatement(QueryRunner.java:174) 
org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:593) 
org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:653) 
com.example.Sqlserver.update(Sqlserver.java:42) 
org.apache.jsp.addMessageHandler_jsp._jspService(addMessageHandler_jsp.java:145) 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.