webwork+hibernate
大侠们看看哪里不合适啊,
这段程序在网上放着 tomcat+mysql 隔段时间就登陆不了了,重启tomcat就没事了
为什么啊,哪里的错,,
String sql= "from TUser where username= ' "+uf.getUsername()+ " ' ";
List userlist=dao.findlist(sql, " ");
//查询方法
public List findlist(String sql,String whsql) throws
HibernateException {
Session sess = null;
List list = new ArrayList();
try {
sess = HibDb.getSession();
Query q1 = sess.createQuery(sql);
list = q1.list();
return list;
}
catch (Exception e) {
e.printStackTrace();
}
finally {
if (sess != null)
HibDb.closeSession(sess);
}
return null;
}
//连接数据库的类
------解决方案--------------------空值,好好检查你的查询方法
------解决方案--------------------上边很显然是报的
空指针异常,但是楼主说是“隔段时间就登陆不了了,重启tomcat就没事了”
原因:数据库没有连上造成的
如何找到问题所在:
1、tomcat的连接池设置的大一点(如果是配置的tomcat连接池)。
2、1上边的方法还不是很好,时间长了还是会出现同样问题。
3、出现的根本原因:
1)数据库的连接没有关闭。(程序员找到每一个关系到数据库连接的地方查找数据库是否关闭)
2)数据库连接了但是由于用户长时间请求,导致连接没有办法被垃圾回收处理(定时清理)。