社区
Java EE
帖子详情
求一个简单的struts+sping+hibernate整合的demo~
t840101
2008-07-10 02:08:57
小弟我一直是做C/S的,现在想向B/S方向发展,对于开源的一些框架不是很熟,求一个简单的struts+sping+hibernate整合的demo,自己可以研究一下,数据库最好是SQL SERVER....谢谢啦~~~
...全文
285
5
打赏
收藏
求一个简单的struts+sping+hibernate整合的demo~
小弟我一直是做C/S的,现在想向B/S方向发展,对于开源的一些框架不是很熟,求一个简单的struts+sping+hibernate整合的demo,自己可以研究一下,数据库最好是SQL SERVER....谢谢啦~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
phon_oy
2008-07-12
打赏
举报
回复
我的整合心得
以下是针对myeclipse的ide的
1.先建立连接,开发阶段用的jdbc连接,开发完毕后,换成数据库连接池,使用c3p0,proxool,不要用dbcp了,hibernate3.0对它已经不是很兼容了。
2.先添加hibernate包,不要hibernate自己生成的sessionFactory,在spring的applicationContext.xm中添加会更加方便,生成映射类,不需要它生成的dao,自己手动写database's crud 的dao接口。
3.添加spring的包,不用在添加spring的时候生成sessionFactory,在applicationContext.xm中添加dataSource数据源,在添加sessionFactory,到此可以删除,你的Hibernate.cfg.xml了,然后就是编写你的业务层和服务层了,因为spring是依赖注射的,在dao的目录下编写对database的crud的接口,在dao.hibernate的目录下去实现在dao的目录的接口,在service目录中编写对database的crud的接口,在service.impl中编写在service目录的接口,服务层的类并不直接操作数据库,而是通过调用到层去操作,然后在applicationContext中添加bean的形式把你编写的接口和类添加进来。
4,添加struts的包,在web层中去调用服务层操作数据库,在struts-config.xml中设置action类用spring来代理,这需要在struts-config.xml中添加插件,
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="ContextConfigLocation"
value="/WEB-INF/action-servlet.xml" />
</plug-in>
并且将Action改为type="org.springframework.web.struts.DelegatingActionProxy",在WEB-INF下建立一个spring的配置文件:action-servlet.xml,它的遵循的是
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
</beans>
如果用到struts的表单验证,还需在struts-config.xml文件里添加一个插件
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/org/apache/struts/validator/validator-rules.xml,/WEB-INF/validations.xml" />
</plug-in>
并且在WEB-INF下新建validations.xml文件格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd">
<form-validation>
<global>
<constant>
<constant-name>phone</constant-name>
<constant-value>^\d{8}\d*$</constant-value>
</constant>
</global>
<formset>
<form name="systemUserForm">
<field property="userName" depends="required">
<msg name="required"
key="systemUSer.addSystemUser.userName" />
</field>
<field property="userPwd" depends="required">
<msg name="required"
key="systemUSer.addSystemUser.userPwd" />
</field>
<field property="userPwdChk" depends="required">
<msg name="required"
key="systemUSer.addSystemUser.userPwdChk" />
</field>
<field property="userPhone"
depends="required,mask">
<msg name="required" key="systemUSer.addSystemUser.userPhone" />
<msg name="mask" key="errors.phone" />
<arg name="mask" key="systemUSer.addSystemUser.display.length" position="1"/>
<arg name="required" key="systemUSer.addSystemUser.display.userPhone" position="0"/>
<arg name="mask" key="systemUSer.addSystemUser.display.userPhone" position="0"/>
<var>
<var-name>mask</var-name>
<var-value>${phone}</var-value>
</var>
</field>
<field property="userEmail" depends="required,email">
<msg name="required"
key="systemUSer.addSystemUser.userEmail" />
<msg name="email" key="errors.email"/>
<arg name="email" key="systemUSer.addSystemUser.display.userEmail" position="0"/>
</field>
</form>
<form name="loginForm">
<field property="userName" depends="required">
<msg name="required" key="systemUSer.login.userName" />
</field>
<field property="userPwd" depends="required">
<msg name="required" key="systemUSer.login.userPwd" />
</field>
</form>
<form name="incomeExpTypeForm">
<field property="incExpTyp" depends="required">
<msg name="required"
key="systemUSer.incomeExpensesType.incExpTyp" />
</field>
</form>
<form name="incomeExpensesForm">
<field property="incExpTypId" depends="required">
<msg name="required" key="IncomeExpenses.incExpTypId" />
</field>
<field property="incExpDesc" depends="required">
<msg name="required" key="IncomeExpenses.incExpDesc" />
</field>
<field property="incExpMn" depends="required,double">
<msg name="required" key="IncomeExpenses.incExpMn" />
</field>
</form>
</formset>
</form-validation>
好了整合完毕了,但是还有运行还有问题,因为还缺少一些包apache的commons-pool-1.3.jar,Spring 2.0 Web Libraries包,还有spring和Hibernate的asm包冲突,我的做法是删除Hibernate包中的asm.jar,asm-attrs.jar。
5.在web.xml中添加spring自带的监听器,主要目的是让application知道spring的存在,格式如下:
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
如果项目大,表多的话,我建议spring的配置文件可以分为好几个,可以在dao层,service层,web层分开建立
那样的话spring的配置文件会更加清晰,applicationContext_XXX.xml只要在web.xml中添加参数就可以了。
6.在web.xml中添加spring自带的字符过滤器,省的自己再去写一个了,格式如下:
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
奇点交易
2008-07-11
打赏
举报
回复
Appfuse生成的网站架构...极赞,可以迅速开始开发的框架.
zhfeir
2008-07-10
打赏
举报
回复
给你放哪里啊!!
whetu
2008-07-10
打赏
举报
回复
本人的资源,不要资源分。
http://download.csdn.net/source/470141
Spri
ng
MVC3+
Spi
ng
+
Hibernate
3
Demo
Spri
ng
MVC3+
Spi
ng
+
Hibernate
3 含完整jar包,可运行。实现了
hibernate
dao层服务,只需添加service、controller、jsp即可。
学习
struts
2
spi
ng
3.2
hibernate
4 框架集成写的
一个
friend management
demo
学习
struts
2_
spi
ng
3.2_
hibernate
4框架集成写的
一个
friend management
demo
分享下!
spi
ng
hibernate
Annotation(注释配置)
demo
(例子)
spri
ng
,
hibernate
,flex 应用注释配置的
一个
例子,里面有数据库脚本和说明文件
SSH
整合
DEMO
struts
2+
spi
ng
2.0+
hibernate
3.0
DEMO
下载
mvc4+spri
ng
.net+n
hibernate
小例子
这是
一个
简单
的mvc4+spri
ng
.net+n
hibernate
做的小例子,数据库是MSSQL 2008,在App_Data有数据库文件
Java EE
67,537
社区成员
225,852
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章