刚用s2sh整合做项目(只做了登录模块),都配置好了,可以连接数据库,第一次连接数据库获取数据等操作都可以,但是页面刷新几次之后就连接不上了,页面无法跳转,一直显示正在连接。设了断点,发现可以请求到action,但是一用hibernate向数据库取数据时,就断开了,也没有报错(好像是hibernate取数据卡在那边了,没有打印出hibernate的sql)
为什么会有这种情况呢?前几次请求hibernate取数据都可以,刷新多次后就不行了,纳闷呀。
我没有用连接池等。
spring配置如下:
class="org.apache.commons.dbcp.BasicDataSource">
value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
value="jdbc:sqlserver://localhost:1433;databaseName=bearBook">
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
value="classpath:hibernate.cfg.xml">
struts配置文件如下:
/background/index.jsp
/background/login.jsp?error=1
hibernate配置如下:
true
org.hibernate.dialect.SQLServerDialect
SystemUserAction中的方法:
public String check(){
systemUser = systemUserService.checkUser(userName, password);
if(systemUser==null){
return "error";
}else{
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("systemUser", systemUser);
return "index";
}
}
调用的SystemUserService中的方法:
public SystemUser checkUser(String userName, String password) {
String hql = "from SystemUser where userName=? and password=?";
Object[]values={userName,password};
List list = systemUserDAO.query(hql,values);
SystemUser systemUser = null;
if(list.size()!=0){
systemUser = list.get(0);
}
return systemUser;
}
调用的SystemUserDAO中的方法:
public List query(String hql,Object...values) {
Query query = getSession().createQuery(hql);
for(int i=0;i<values.length;i++){
//相当于rs.setObject
query.setParameter(i, values[i]);
}
return query.list();
}
为什么头几次登录都可以(hibernate可以打印出sql语句),多请求几次,hibernate那端就卡在那边了,没有打印出sql语句,页面一直是正在连接。。。连接不上~ spring注入都可以