SSH 无法刷新问题

ericle03 2009-06-27 10:04:25
SSH 无法刷新
晕,写了半个小时

又要重新写, 天呐

问题这样, 用SSH框架开发,开发完成后, 我部署到tomcat上

运行,没问题, 刷新,没问题,又刷新,没问题,刷新........ 第八次刷新! 问题出现了, 不报错, 就是卡在那里不动了, 一直是连接状态就是无内容显示, 我用debug 追踪, 发现问题, 数据库无法返回数据,

伤心!

几天了, 就是没有解决, 请老大帮个忙,看看咯,小生感激不尽 :)



-----------------------------------index.jsp----------------

<jsp:forward page="/index.do"></jsp:forward> /*直接转向,到IndexAction*/

--------------------------------IndexAction-------------


public class IndexAction extends Action{
private QuestionService questionService; /*spring 注入*/
public void setQuestionService(QuestionService questionService) {
this.questionService = questionService;
}

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.setAttribute("questionCount", questionService.getQuestionCount()); /*Action调用的questionService方法*/ request.setAttribute("items",questionService.getItems()); /*Action调用的questionService方法*/
return mapping.findForward("index"); /*转向*/}

}

---------------------------QuestionServiceImpl-----------------------------------------------

package com.zhidao.service.impl;
import java.util.List;
import com.zhidao.dao.ItemDao;
import com.zhidao.dao.QuestionDao;
import com.zhidao.dao.SubitemDao;
import com.zhidao.service.QuestionService;
import com.zhidao.vo.Item;
import com.zhidao.vo.Question;
public class QuestionServiceImpl implements QuestionService {
private ItemDao itemDao;
private SubitemDao subitemDao; /*IndexAction调用的DAO依赖注入*/private QuestionDao questionDao; /*IndexAction调用的DAO依赖注入*/public void setQuestionDao(QuestionDao questionDao) {
this.questionDao = questionDao;
}
public void setSubitemDao(SubitemDao subitemDao) {
this.subitemDao = subitemDao;
}
public void setItemDao(ItemDao itemDao) {
this.itemDao = itemDao;
}
public List getItems() { /*IndexAction调用的方法*/ return itemDao.getAll();
}
public List getSubitems() {
return subitemDao.getAll();
}
public boolean input(Question question) {


try{
questionDao.save(question);
return true;
}catch(Exception ex){
ex.printStackTrace();
return false;
}
}
public int getQuestionCount() { /*IndexAction调用的方法*/ return questionDao.getQuestionCount();
}
public List getResults(int page, int itemid) {
List list=questionDao.getByItemid(page, itemid);
return list;
}
public List getSubitems(int itemid) {
return subitemDao.getByItemid(itemid);
}
public List getResultsBySubid(int page, int itemid, int subid) {
return questionDao.getBySubid(page, itemid, subid);
}
public Item getItem(int itemid) {
return itemDao.getItem(itemid);
}

}




----------------------QuestionDaoImpl--------------------------------------------

public class QuestionDaoImpl extends HibernateDaoSupport implements QuestionDao {

public void save(Question question) {
this.getHibernateTemplate().save(question);
}
public int getQuestionCount() { /*Service调用的方法---第八次开始,debug到这里停止, 不报错,无法得到返回数据 */ Query query=this.getSession().createSQLQuery("select count(*) from question");
List list=query.list();
this.getSession().close();
return (Integer)list.get(0);
}
public List getByItemid(int page,int itemid) {
Session session=this.getSession();
Query query=session.createSQLQuery("select * from question where itemid="+itemid+" order by createtime desc").addEntity(Question.class);
query.setFirstResult((page-1)*25);
query.setMaxResults(25);
List list=query.list();
return list;
}
public List getBySubid(int page, int itemid, int subid) {
Session session=this.getSession();
Query query=session.createSQLQuery("select * from question where itemid="+itemid+" and subitemid="+subid+" order by createtime desc").addEntity(Question.class);
query.setFirstResult((page-1)*25);
query.setMaxResults(25);
List list=query.list();
return list;
}
}


-------------------ItemDaoImpl-----------------------------

package com.zhidao.dao.impl;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.zhidao.vo.Item;
import com.zhidao.dao.ItemDao;
public class ItemDaoImpl extends HibernateDaoSupport implements ItemDao {
public List getAll() {
return this.getHibernateTemplate().loadAll(Item.class); /*Service调用的方法*/}
public Item getItem(int itemid) {
return (Item)this.getHibernateTemplate().get(Item.class, itemid);
}
}

--------------------applicationContex.xml-----------------------------

/*数据源hibernate集成jdbc*/

<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
</property>
<property name="url"
value="jdbc:sqlserver://localhost:1433;databaseName=zhidao">
</property>
<property name="username" value="sa"></property>
<property name="password" value="123"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
<prop key="hibernate.connection.autocommit">true</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/zhidao/vo/Iuser.hbm.xml</value>
<value>com/zhidao/vo/Item.hbm.xml</value>
<value>com/zhidao/vo/Subitem.hbm.xml</value>
<value>com/zhidao/vo/Question.hbm.xml</value>
</list>
</property>
</bean>





/*各个配置注入, 验证过了, 应该没出问题 :)*/
<bean id="userDao" class="com.zhidao.dao.impl.UserDaoImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>

<bean id="userService" class="com.zhidao.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao" />
</bean>
<bean name="/user" class="com.zhidao.action.UserAction">
<property name="userService" ref="userService" />
</bean>

<bean id="itemDao" class="com.zhidao.dao.impl.ItemDaoImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="subitemDao" class="com.zhidao.dao.impl.SubitemDaoImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>

<bean id="questionDao" class="com.zhidao.dao.impl.QuestionDaoImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>

<bean id="questionService" class="com.zhidao.service.impl.QuestionServiceImpl">
<property name="itemDao" ref="itemDao" />
<property name="subitemDao" ref="subitemDao" />
<property name="questionDao" ref="questionDao" />
</bean>

<bean name="/question" class="com.zhidao.action.QuestionAction">
<property name="questionService" ref="questionService" />
</bean>

<bean name="/index" class="com.zhidao.action.IndexAction">
<property name="questionService" ref="questionService" />
</bean>

<bean name="/show" class="com.zhidao.action.ShowAction">
<property name="questionService" ref="questionService" />
</bean>
...全文
83 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvfeng19806001 2009-06-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yhjhoo 的回复:]
小子,你数据库连接忘记关闭了
[/Quote]
应该就是这个原因吧!
yhjhoo 2009-06-27
  • 打赏
  • 举报
回复
一般默认的数据库连接都在这个数量左右,你忘记关闭所以导致每次只要刷新一定次数就死掉了
yhjhoo 2009-06-27
  • 打赏
  • 举报
回复
小子,你数据库连接忘记关闭了
ericle03 2009-06-27
  • 打赏
  • 举报
回复
摆脱, 怎么管啊?

使用hibernateHibernateTemplate spring管理的, 会自动关闭的啊,

而且,我关闭后, 也会出同样的错,

而且,, 我看过的书也好, 教程也好, 所有的DAO 交给spring管理后都没有关闭,

上次问了个达人, 他看到我把数据库连接关闭了, 马上就说, “看见没, 问题在这里, 谁叫你关的吖? 这里不能关, 天呐,我都要崩溃了, 关闭也错,不关也错, 就是没人真正能帮我解决, ”


伤心啊!!

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧