我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: Struts + Hibernate 例子 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

klo



性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
家族: YD一族
发贴: 473
威望: 0
浮云: 1105
在线等级:
注册时间: 2007-01-10
最后登陆: 2008-06-30

5come5帮你背单词 [ rehearse /rih'ə:s/ v. 排练,排演 ]


Struts + Hibernate 例子


我们用struts与它结合来做一个简单的应用。例子所需要的lib文件我都没有放进去,因为太大了(压缩以后近11M)论坛不让上传,呵呵,你们自己把struts与hibernate的jar文件放进去吧。

配置环境:
HIBERNATE2.1(上次遇到有朋友因为版本不同折磨了大半天,这次注意了)
STRUTS1.1
JBUILDERX
MYSQL4.1.7

其实hibernate与struts结合起来是很不错的选择,而且使用与配置起来都简单,几步就完成了。

例子压缩包里一共有5个JAVA类文件(BeanItem.java,h_bean.java,h_connection.java,Init.java,MainServlet.java),BeanItem.java是一个Bean,从数据库取出结果以后创建相应总记录数的BeanItem数组,然后再压入request对象中,最后利用RequestDispatcher(直接用ActionMapping对象的findForward方法也可以,只要在struts-config加了标签既可)传会JSP页面(ok.jsp)。

h_bean.java是hibernate与数据库表映射的类,因为上次我已经介绍过了hibernate的基本知识所以这里就不解释了。

h_connection.java是管理hibernate的类,取SessionFactory用getConnection方法,注意里面有一个static块,里面查询JNDI树得到绑定的SessionFactory实例。

Init.java是Struts的一个扩展类,继承自PlugIn,将这个类加进Struts的配置文件(struts-config.xml里的里加上这一行既可),以后每次启动服务器的时候都会先执行这个类,当然只执行一次,因为hibernate取SessionFactory的时候要花久一点的时间,所以为了不每次使用时都去重新生成SessionFactory,我们将它改成PlugIn,然后绑在目录树中,这样上下文其他地方需要用到的时候直接lookup就可以了。里面有init与destroy方法,也就是说在容器停止的时候可以自动在destroy方法里删除。(好象有点罗嗦了)

MainServlet.java是Struts的Action子类,例子里的操作都在这里完成,包括取SessionFactory,取数据,转向等等。

为了与struts结合使用,这里需要增加一个hibernate.cfg.xml文件(其实有好几种方法,这里只讲这一种常用的),放在classes目录下,注意里面的

每一个表的映射都要添加进这个文件里,新增一行既可。
顶端 Posted: 2008-05-24 12:35 | [楼 主]
shoryuar



性别: 帅哥 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1201
威望: 0
浮云: 1209
在线等级:
注册时间: 2005-01-17
最后登陆: 2011-02-10

5come5帮你背单词 [ joke /d3əuk/ v. & n. (说)笑话,(开)玩笑 ]


说了半天看不懂
顶端 Posted: 2009-03-17 23:42 | [1 楼]
小马哥



性别: 保密 状态: 该用户目前不在线
等级: 鹤立鸡群
发贴: 1264
威望: 0
浮云: 1161
在线等级:
注册时间: 2003-03-22
最后登陆: 2009-05-17

5come5帮你背单词 [ bat /bæt/ n. 球棒,球拍,蝙蝠 ]


其实用myeclipse开发要简单些
顶端 Posted: 2009-03-20 14:52 | [2 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.012165(s) query 5, Time now is:05-02 13:09, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号