首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

天极网 > 开发频道>让Struts与Hibernate顺利协同工作

让Struts与Hibernate顺利协同工作

2005-01-24 11:15作者:yujiebo025出处:csdnblog责任编辑:方舟

  三,Struts

  struts 的配置文件 struts-config.xml 放在 应用的 /WEB-INF/目录下面,大致的配置如下

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.0//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
<struts-config>

<form-beans>
<form-bean name="loginForm" type="net.seerlog.vo.LoginForm"/>
<form-bean name="replyForm" type="net.seerlog.vo.ReplyForm"/>
</form-beans>

<global-forwards>
<forward name="index" path="/first.jsp"/>
</global-forwards>

<action-mappings>

<action path="/login" type="net.seerlog.action.LoginAction" scope="request" name="loginForm" input="/login.jsp">
<forward name="success" path="/success.jsp"/>
</action>

<action path="/blog" type="net.seerlog.action.BlogAction" scope="request">
<forward name="success" path="/sublog.jsp"/>
</action>

<action path="/topic" type="net.seerlog.action.TopicAction" scope="request">
<forward name="success" path="/sutopic.jsp"/>
</action>

<action path="/posttopic" type="net.seerlog.action.PostTopicAction" scope="request" >
</action>

<action path="/postreply" type="net.seerlog.action.PostReplyAction" scope="request" name="replyForm" input="/sublog.jsp">
</action>

<action path="/index" type="net.seerlog.action.IndexAction" scope="request">
</action>

</action-mappings>

<message-resources parameter="resouse.application">
</message-resources>
</struts-config>

  这里的配置有一个可视化工具叫做 struts-console,目前版本4.8,网上可以免费下载的到。

  配置文件其实不用去记,需要时参考一下,拷贝一个过来修改一下即可。只是这里的主要是在于设计 ,设计好有什么formbean,什么action,他们的关系,等等问题。一个好的设计绝对能为后期节省大量的返工可能性。struts有一本《struts on action》,绝对是学习struts的经典书籍,我手上有翻译的前8章,有需要的可以联系我。

  我们这里不详细说明各个配置,只讲struts 和hibernate 合作的过程。

  一个action 有一个 execute 方法,当然也可以用 perform方法,不过 perform 方法 在struts1.1已经不推荐使用了,而使用了更强大的execute()方法。 package net.seerlog.action;

//导入所有用的到的包
import java.util.List;

import net.seerlog.po.*;
import net.seerlog.vo.*;
import net.seerlog.util.*;

import net.sf.hibernate.*;

import org.apache.struts.action.*;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import javax.servlet.ServletException;

public class IndexAction extends Action{

 //action的主体方法 execute ,注意要抛出异常
 public ActionForward execute (ActionMapping mapping,ActionForm form,HttpServletRequest req,
HttpServletResponse res) throws IOException, ServletException{
  try{
   //开启会话
   Session session = Hi.getSession();
   Transaction tx= session.beginTransaction();
   //查询
   Query q = session.createQuery("from Topic as topic order by topic.id desc");
   q.setFirstResult(0);
   q.setMaxResults(5);
   List newTopicList = q.list();

   NewTopicList ntlBean=new NewTopicList();
   ntlBean.setList(newTopicList);
   req.setAttribute("newtopiclist",ntlBean);

   //事务提交,关闭session
   tx.commit();
   Hi.closeSession();

   //捕获异常
  }catch(HibernateException e){
   Log.error(e.toString()); //日志记录
 }

 //返回一个 actionForward 对象
 return mapping.findForward("index");
}

}

  以上就是 struts hibernate协同工作的全部内容了,这篇文章只能让你了解整个过程,这里的例子不能作为实现的学习例子。

 

关注此文的读者还看过:

返回开发频道首页

共3页。 上一页123

软件频道最新更新

热点推荐

天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络