Struts+Hibernate

本文分享了使用Struts2和Hibernate搭建框架Demo的过程,包括引入必要的Jar包、配置Web.xml文件、定制Struts2和字符过滤、导入Hibernate及配置hibernate.cfg.xml等步骤。同时,作者分享了遇到的问题和解决方法,如hibernate.cfg.xml的DTD定义错误、实体类配置方式的改变等,并提供了完整的工程下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


今天闲来无事,又拿起来了以前的Java框架看了起来,于是临时打起来了一个Struts2+Hibernate的框架Demo,这其中也遇到了一些问题,接下来将搭建的过程给大家分享一下。

一、首先先把Struts2框架所需的Jar包引入进来。

读者可自行下载struts2-blank-2.1.0.war压缩包,展开后是一个非常简单的项目,从WEB-INF/lib目录中可以看到5个库文件,解释如下:

包名

说明

commons-logging-1.0.4.jar

日志管理

freemarker-2.3.8.jar

表现层框架,定义了struts2的可视组件主题(theme

ognl-2.6.11.jar

OGNL表达式语言,struts2支持该EL

struts2-core-2.0.10.jar

struts2的核心库

xwork-2.0.4.jar

webwork的核心库,自然需要它的支持


这是些必须的Jar包,但是你也可以再倒入其他的jar包,譬如说我还加入了Json所需的jar包。然后书写Web.xml文件,想必大家对这个应该很熟悉了。

定制struts2所需的filter:

<filter>
 <filter-name>struts2</filter-name>
 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 </filter>
 <filter-mapping>
 <filter-name>struts2</filter-name>
 <url-pattern>/*</url-pattern>
 </filter-mapping>
然后大家还以定制字符过滤。


再然后我们需要导入hibernate了。在这里我是用的是Hibernate的4.1.5final版本。下载该zip包后解压缩,导入lib文件夹下的requried下的所有jar包,我由于应用了c3p0来管理数据池,所以我还导入了lib下的optional文件夹下的c3p0文件夹下的jar包。
下面我贴上hibernate.cfg.xml的书写内容(待会我会把工程打包放上来):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<!-- Database connection setting -->
		<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="connection.url">jdbc:mysql://localhost/blogontent</property>
		<property name="connection.username">root</property>
		<property name="connection.password">joker</property>
		<!-- 指定连接池最大连接数 -->
		<property name="hibernate.c3p0.max_size">20</property>
		<property name="hibernate.c3p0.min_size">1</property>
		<!-- 指定连接池里的超时时长 -->
		<property name="hibernate.c3p0.timeout">5000</property>
		<!-- 显示Sql语句-->
		<property name="show_sql">true</property>
		<!-- 数据库方言 -->
		<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
		<!-- Disable the second-level cache -->
		<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>
		<!-- 映射文件 -->
		<mapping class="com.app.pojo.UserInfo"></mapping>
	</session-factory>
</hibernate-configuration>
加上了上述注释大伙应该能看明白。
大家一定要注意看hibernate提供的文档,里面有些东西说的很明白。
我把代码一会贴上,大家自己看,然后我把遇到的问题总结一下:
第一个是书写hibernate.cfg.xml中对于dtd的定义
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
加入不写这句话,系统会提示hibernate.cfg.xml找不到;
还有就是以前的方式是采用className+hbm.xml的方式建立对应的实体类的配置文件,在这里我是用了注解的方法。这样少了配置文件,能节省一些时间。
还有就是,以前是采用SSH框架进行开发,现在少了Spring,对于逻辑层的配置着实有些不便,需要对每个类在应用是进行初始化,而且在书写dao层是最好写一个通用Dao,并且定义成abstract。我感觉这样子的话能够更好地实现代码的重用,当然我只是搭配环境,dao写的比较差,但要是应用在真正项目中,就不会这么乱来了。下面我把自己的工程发上来。欢迎大家下载。

大家下载后解压缩,然后用Eclipse导入就可以了。我用的是jdk7。

下载地址在:点击打开链接





















                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值