我有一个问题,我试图将两个或多个网页浏览器/相同浏览器的差异标签登录到同一个网页,会出现错误
Io exception:Socket closed
在同一时间刷新/登录的任何一方。
我应该使用多线程开放连接吗?如果是的话怎么做? 有人可以帮忙解决这个问题吗? 该程序是用JSP编写的。
答案 0 :(得分:0)
确保您没有在代码中将SQL Connection
声明并存储为静态或实例变量 。
例如,这是坏:
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;
}