在上面呢严重: Servlet.service() for servlet action threw exception
java.lang.AbstractMethodError
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.getParameterMetaData(DelegatingPreparedStatement.java:221)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.getParameterMetaData(DelegatingPreparedStatement.java:221)
at org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:225)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:487)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:457)
at com.v512.guestbook.web.action.InputAction.execute(InputAction.java:47)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)IE上面的报错信息是:HTTP Status 500 - Servlet execution threw an exception
type Exception reportmessage Servlet execution threw an exceptiondescription The server encountered an internal error that prevented it from fulfilling this request.exceptionjavax.servlet.ServletException: Servlet execution threw an exception
root causejava.lang.AbstractMethodError
org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.getParameterMetaData(DelegatingPreparedStatement.java:221)
org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.getParameterMetaData(DelegatingPreparedStatement.java:221)
org.apache.commons.dbutils.AbstractQueryRunner.fillStatement(AbstractQueryRunner.java:225)
org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:487)
org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:457)
com.v512.guestbook.web.action.InputAction.execute(InputAction.java:47)
org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.41 logs.

解决方案 »

  1.   

    看上去像 jdbc 驱动的问题。
    你用的什么驱动?
      

  2.   

    msbase.jar
    mssqlserver.jar
    msutil.jar是这三个jar包吗?
      

  3.   

    还有怎么看出来是jdbc的问题的呢?
      

  4.   

    看报错, 好像是SQL 预处理, 参数有问题捏。String sql = "insert into guestbook(name,email,url,title,content,time) values(?,?,?,?,?)"; 你 最后一个参数 time 在数据库中是什么类型? 如果是 date 类型的 话, 在最后一个问号转换下时间类型撒String sql = "insert into guestbook(name,email,url,title,content,time) values(?,?,?,?,to_date(?, 'yyyy-mm-dd hh24:mi:ss')))";
      

  5.   

    varchar(50) 不是date类型的应该不是sql语句的问题,要不就是jar包的问题要不就是tomcat的问题 我不知道怎么查问题。
      

  6.   

     driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"  这个是配置SqlServer2000的driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" 这个是配置SqlServer2005或者2008的
      

  7.   

    update的时候报的这个错误。我加载了System.out.println
    DataSource ds = (DataSource) context.lookup("java:/comp/env/jdbc/oracleds");
    // ds.getConnection();
    System.out.println("2");
    QueryRunner qr = new QueryRunner(ds);

    System.out.println("3");
    qr.update(sql, params);
    System.out.println("4");3 打印出来了,4没有打印出来 但是我不知道是什么错误引起的。
      

  8.   

    可以了改成
    QueryRunner qr = new QueryRunner(ds,true);谢谢!