0

我有一个问题,我尝试将两个或多个 Web 浏览器/具有不同选项卡的相同浏览器登录到同一个网页,会出现错误提示

io异常:套接字关闭

同时刷新/登录时在任一侧。

我应该使用多线程开放连接吗?如果是的话怎么做?任何人都可以帮助解决这个问题吗?该程序是用 JSP 编写的。

4

1 回答 1

0

确保您没有在代码中的任何位置Connection将 SQL 声明和存储为静态或实例变量。

例如,这很糟糕

public class SomeClass {

    private Connection connection;
    // Or
    private static Connection connection;

}

它应该在您执行 SQL 查询的同一方法块中声明、创建和关闭。

所以,这很好

public class SomeDAO {

    public SomeEntity find(Long id) throws SQLException {
        Connection connection = null;
        // ...

        try {
            connection = database.getConnection();
            // ...
        }
        finally {
            // ...
            if (connection != null) try { connection.close(); } catch(SQLException ignore) {}
        }

        return someEntity;
    }

也可以看看:

于 2012-04-26T13:34:17.597 回答