我练习的一个web project,访问某jsp时,控制台出现:java.sql.SQLException: 关闭的连接
看错误提示,问题好像在DB.commit(Connection conn),但我在这句之前,打印conn,conn不为空,这样的情况下,错误的原因是?java.sql.SQLException: 关闭的连接
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:226)
at oracle.jdbc.driver.PhysicalConnection.commit(PhysicalConnection.java:963)
at com.util.DB.commit(DB.java:63)
at com.util.Handler.invoke(Handler.java:33)
at $Proxy10.getRoles(Unknown Source)
at com.role.RoleServlet.add_list(RoleServlet.java:22)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.base.baseServelt.service(baseServelt.java:29)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:21)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
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:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
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:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)

解决方案 »

  1.   

    不太明白。。
    不妨贴出代码看看。。
    另外也可以结合log4j查看详细信息。
    log4j的配置方法:
    http://hi.csdn.net/link.php?url=http://blog.csdn.net%2Fwibnmo
      

  2.   

    java.sql.SQLException: 关闭的连接 
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124) 
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:161) 
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:226) 
    at oracle.jdbc.driver.PhysicalConnection.commit(PhysicalConnection.java:963) 
    at com.util.DB.commit(DB.java:63) 在执行commit的时候。数据库关闭了。所以报错。
    几种可能性。
    1。 断电。
    2。 数据库出现异常行为关闭了。
    3。 代码有问题。应现测试一下。