社区
Java EE
帖子详情
求一个简单的struts+sping+hibernate整合的demo~
t840101
2008-07-10 02:08:57
小弟我一直是做C/S的,现在想向B/S方向发展,对于开源的一些框架不是很熟,求一个简单的struts+sping+hibernate整合的demo,自己可以研究一下,数据库最好是SQL SERVER....谢谢啦~~~
...全文
279
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
交直流混合配电网潮流计算(统一
求
解法)(Matlab代码实现)
内容概要:本文系统介绍了交直流混合配电网潮流计算的统一
求
解法,并提供了基于Matlab的完整代码实现方案。该方法通过构建统一的数学模型,对交流与直流子系统进行一体化建模与
求
解,充分考虑了两者之间的耦合特性,实现了对系统电压、电流、功率等关键参数的精确计算。文中详细阐述了算法的理论基础、建模步骤、迭代
求
解流程及收敛判据,并通过标准测试系统或典型算例进行了仿真验证,结果表明该方法具有较高的计算精度、良好的收敛性和较强的工程适用性,尤其适用于包含分布式电源、电力电子变换器等新型元件的现代复杂配电网分析。; 适合人群:具备电力系统分析基础知识和Matlab编程能力的高等院校研究生、从事电力系统规划、运行与控制的科研人员及工程技术人员。; 使用场景及目标:①用于交直流混合配电网的稳态运行特性分析与仿真研究;②支撑含高比例新能源接入、直流配电、柔性互联装置的配电网规划、优化调度与控制策略开发;③为相关领域的学术研究、毕业设计及工程项目提供可靠、高效的潮流计算工具与技术参考。; 阅读建议:建议读者结合Matlab代码与文本说明进行同步学习,重点理解统一
求
解模型的构建逻辑、变量处理方式及算法实现细节,可尝试修改系统参数、网络拓扑或扩展应用场景以验证方法的适应性与鲁棒性,并推荐将其拓展应用于多端直流系统、主动配电网或综合能源系统等更复杂的场景中进行深入研究。
无功优化基于改进遗传算法的电力系统无功优化研究【IEEE30节点】(Matlab代码实现)
内容概要:本文研究了基于改进遗传算法的电力系统无功优化问题,以IEEE30节点标准系统为仿真平台,采用Matlab进行算法编程与仿真验证。研究构建了包含网损最小化和电压质量提升的多目标无功优化数学模型,设计合理的适应度函数并处理各类等式与不等式约束条件,针对传统遗传算法易陷入局部最优、收敛速度慢等问题,引入了改进策略以增强种群多样性、加快寻优效率。通过仿真实验对比分析,验证了改进算法在降低系统有功网损、改善节点电压水平、提高系统运行稳定性与经济性方面的优越性能,为电力系统无功优化提供了有效的智能计算解决方案。; 适合人群:具备电力系统分析基础和Matlab编程能力,从事电力系统运行与控制、智能优化算法研究的研究生、科研人员及电力工程技术人员。; 使用场景及目标:①应用于实际电力系统的无功补偿配置与电压调控,提升电网运行效率与供电品质;②为智能优化算法在复杂电力工程问题中的应用提供典型范例;③作为高校电力专业高年级本科生或研究生开展无功优化课题研究与仿真实践的教学参考资料。; 阅读建议:读者应结合Matlab代码与IEEE30节点系统原始数据进行动手复现,重点剖析算法改进机制对优化性能的影响,深入理解无功优化模型的物理意义与工程约束的数学表达,从而掌握智能算法解决电力系统实际问题的完整技术路线。
政府科技管理者如何利用区域科技创新数智大脑实现精准招商?_1.docx
科易网深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化服务,推动科技创新与产业创新智能化发展。
国央企创新负责人如何借助产业大脑实现产业链协同创新?.docx
科易网深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化服务,推动科技创新与产业创新智能化发展。
为学术搜索结果添加AI驱动的相关性评分,帮助研究人员快速识别相关论文.zip
一个
专为本科/研究生论文写作设计的AI技能,支持工科、心理学、教育学、管理学等多学科领域,提供符合中国学术规范(GB/T 7714-2015)的论文写作、数据分析、参考文献管理一体化解决方案。
Java EE
67,538
社区成员
225,852
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章