首先程序的service大概这样:
Session session = DAO.getSession().openSession();
try {
........
} finally {
session.close();
DAO.closesession();
}
在Spring没有和Struts2整合之前数据库访问没有问题
----------------------------------------------------------------------------
在Spring和Struts2整合之后只要写上
DAO.closesession();就会报错: Unknown service requested [org.hibernate.engine.jdbc.connections.spi.ConnectionProvider]
-----------------------------------------------------------------------------
而去掉
DAO.closesession();就不会报错。
============================================
我就是想明白这是为什么?
------解决方案--------------------
你的DAO.closesession();不会是关闭sessionFactory吧?sessionFactory一般是在应用服务器关闭,程序被卸载的时候才能关的,所以你本身就不应该关它,不管是不是整合spring。至于报错,你应该是把sessionFactory交给spring容器管理了,所以你手动关它肯定不对了。