struts+hibernate例子(原创)
2004-11-13 10:49
531 查看
hibernate+struts结合简单例子
作者:雨伞(geezer)
2004/11/12
上次介绍了hibernate的基本知识,现在我们将它用在实际项目开发中,
我们用struts与它结合来做一个简单的应用。例子所需要的lib文件我都没有放进去,因为太大了(压缩以后近10M)论坛不让上传,呵呵,你们自己把struts与hibernate的jar文件放进去吧。
配置环境:
HIBERNATE 2.1(上次遇到有朋友因为版本不同折磨了大半天,这次注意了)
STRUTS 1.1
JBUILDER X
MYSQL 4.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加了<forward>标签既可)传会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里的<struts-config>里加上
<plug-in className="database.Init" />这一行既可),以后每次启动服务器的时候都会先执行这个类,当然只执行一次,因为hibernate取SessionFactory的时候要花久一点的时间,所以为了不每次使用时都去重新生成SessionFactory,我们将它改成PlugIn,然后绑在目录树中,这样上下文其他地方需要用到的时候直接lookup就可以了。里面有init与destroy方法,也就是说在容器停止的时候可以自动在destroy方法里删除。(好象有点罗嗦了
![](http://www.phpx.com/happy/images/smilies/frown.gif)
)
MainServlet.java是Struts的Action子类,例子里的操作都在这里完成,包括取SessionFactory,取数据,转向等等。
为了与struts结合使用,这里需要增加一个hibernate.cfg.xml文件(其实有好几种方法,这里只讲这一种常用的),放在classes目录下,注意里面的
<mapping resource="database/h_bean.hbm.xml"/>
每一个表的映射都要添加进这个文件里,新增一行既可。
例子下载:http://www.phpx.com/happy/attachment.php?s=&postid=656452
作者:雨伞(geezer)
2004/11/12
上次介绍了hibernate的基本知识,现在我们将它用在实际项目开发中,
我们用struts与它结合来做一个简单的应用。例子所需要的lib文件我都没有放进去,因为太大了(压缩以后近10M)论坛不让上传,呵呵,你们自己把struts与hibernate的jar文件放进去吧。
配置环境:
HIBERNATE 2.1(上次遇到有朋友因为版本不同折磨了大半天,这次注意了)
STRUTS 1.1
JBUILDER X
MYSQL 4.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加了<forward>标签既可)传会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里的<struts-config>里加上
<plug-in className="database.Init" />这一行既可),以后每次启动服务器的时候都会先执行这个类,当然只执行一次,因为hibernate取SessionFactory的时候要花久一点的时间,所以为了不每次使用时都去重新生成SessionFactory,我们将它改成PlugIn,然后绑在目录树中,这样上下文其他地方需要用到的时候直接lookup就可以了。里面有init与destroy方法,也就是说在容器停止的时候可以自动在destroy方法里删除。(好象有点罗嗦了
![](http://www.phpx.com/happy/images/smilies/frown.gif)
)
MainServlet.java是Struts的Action子类,例子里的操作都在这里完成,包括取SessionFactory,取数据,转向等等。
为了与struts结合使用,这里需要增加一个hibernate.cfg.xml文件(其实有好几种方法,这里只讲这一种常用的),放在classes目录下,注意里面的
<mapping resource="database/h_bean.hbm.xml"/>
每一个表的映射都要添加进这个文件里,新增一行既可。
例子下载:http://www.phpx.com/happy/attachment.php?s=&postid=656452
相关文章推荐
- Eclipse 专门讨论!
- 一个记事本的源程序
- Eclipse简介和插件开发
- 用JAVA做数字签名
- 心爱的eclipse好久没用了
- GCJ编译java程序的头痛问题
- DOM(学习)java篇一
- Java之旅 (6) 初始化和清理
- 深入浅出 Java clone 技术
- 深入浅出Java clone技术(3)
- Eclipse3.1M2部分支持JDK5语法
- Jakarta Struts应用的七个经验
- 深入Struts 1.1
- Java Reflection (JAVA反射)
- 用Eclipse Visual Editor 开发SWT GUI
- Struts的异常处理机制
- JAVA 多进程应用 多个定时器作业的SWING界面及实现 -- s00n
- Java程序设计资源推荐
- JAVA mail应用 - 用JAVA SWING写的邮件批量发送工具
- Eclipse 3.0资料收集