在标签中结束会关闭连接,为什么每次在标签中得到的连接为同一个连接?
还有我用两个JSP页面同时测试,结果两个JSP页面得到的连接也是同一个连接。
能告诉我为什么吗?谢谢

解决方案 »

  1.   

    不是我不愿意,是代码很多,我来公司之前他们写的一个标签
    具体是:2。使用自定义标签。 
    在标签中:DataSource,Connection为外部变量,在doInit中初始化DataSource,在doGet中初始化Connection。conn=ds.getConnection();
    System.out.println("得到连接:"+conn);
    stmt = conn.createStatement();
    System.out.println("创建statement:"+stmt);后台输出为:
    得到连接:org.apache.commons.dbcp.PoolableConnection@10df4e2
    Service Error: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC
    ]Object has been closed.
    (1712235 ms) [http-8080-Processor25] ERROR: org.tianhai.query.ConnectionPoxy#inv
    oke : java.lang.reflect.InvocationTargetException刷新页面,循环输出上面的结果
      

  2.   

    自定义标签里有doGet啊?是不是JSP或者Serlvet里的啊?
      

  3.   

    是在public int doStartTag()里定义的,如果为GET请求就调用方法doGet(),这个方法名是随便取的
      

  4.   

    在jsp标签里直接访问Connection本身就是错误的使用方法。如果你没有权利改变这个现状,那就去请教原创人员吧。 你有同事啊,他们应该知道。如果你能改变,放弃这种错误的做法吧!
      

  5.   

    conn=ds.getConnection(); 就出问题了
      

  6.   

    提示 Object has been closed。就是对象关闭了。看你的情况应该是Statement对象关闭了。
    如果你还要在某处使用这个Statement对象就要在使用完后,再进行关闭。请仔细检查你的代码。