连接已关闭。
就是说,引用到的连接,在你这次用的时候,已被关闭掉了。
一般在多线程环境下出这种问题,就是有的线程用完 conn 之后将其关闭了,其他线程又拿来用

解决方案 »

  1.   

    首先,建议你的代码
    if (con != null)
    try {
    con.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }这个放到最后,只放一处,到处放,一不小心,还要用就关掉了
      

  2.   

    连接池中的连接不能关掉。
    con.close();错误了。
    连接池是为了取连接方便,如果取出来了并且用了最后放回去,你关了算怎么回事?等你关完了还不是要重新建立连接,这就浪费时间了就和没有用连接池一样了。
      

  3.   

    再说你的连接池是tomcat管理的,这种方式叫做jndi(一j2ee中规范),根本不需要自己关掉。
    这里有个模拟连接池的http://blog.sina.com.cn/s/blog_6383597b0100fwb8.html连接不用请放回。