Struts Spring Hibernate 系统架构的实现

合集下载

framework开发手册

framework开发手册

Framework架构手册前言本框架基于Struts2.0+Spring2.5+Hibernate3.2架构所建,用于中小型企业网站或管理系统基础架构。

下面先简要介绍一下struts,spring,hibernate●Struts简介Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。

Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。

●Spring简介Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。

Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。

Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。

然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。

Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。

Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。

Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA 或者JDBC事务提供一个一致的编程模型。

Spring提供了一个用标准Java语言编写的AOP 框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。

这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。

Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。

●Hibrenate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

基于Struts Hibernate Spring架构的软件开发

基于Struts Hibernate Spring架构的软件开发
根据原理我们可以构建软件 。 () 定 自己的Wo k p c [ E l s3 1设 r S a eD: ci e . p
1 MyW o k p c】 r s ae。
是 将 业 务 代 码 与视 图 代 码 分 离 , 效 地 优 有 化 系 统结 构 , 高 系统 的 扩 展性 , 低 系 统 提 降
TECH N0LOGY NFORM A丁l I ON
信 息 技 术
基于 S r t ien t p ig tu s H b ra e S r 架构 的软件开发 n
徐 刚 ( 湖北省武 汉市华 中科技 大学 武汉 40 7 3 0 4) 摘 要: 近年来 , 着信 息技 术应 用于各行各 业, 随 尤其是企 业信息化建设 的不断发展 , 构建 了基于W b e 的技 术 系统之上 。 于 当今 复杂 多变 对 的市 场环 境 , 发展 壮大 信息技术 需要考虑他 的伸 缩性强 、 扩展性好 . 用性 高和 易维护 , 重 易管理 的特 点 , 得W b 使 e 技术 发展成 为现 当代 的 热 点 。tus ien t S rn - 框 架 (S 主 要 应 用 于 大 型 项 目。 Sr t H b r ae pi g ̄大 S H) 只有 大 项 目 才 匏体 现 出S H的优 势 。 S 关键词 : tus ien t p ig 构架 软 件开发 Sr t H brae S rn 中 图分 类 号 : P3 1 T l 文 献标 识 码 : A 文 章编 号 : 2 7 1 2 1 )4c-0 2 0 1 -3 9 ( 0 1 0 () 0 - 6 2 2 随 着 信 息技 术 的 发 展 需 要 , 建 基 于 构
W e 的 应 用 系 统 的 需 求 , 而 使 S r t Hi b 从 tu s —

无纸化考试系统中Struts,Spring,Hibernate框架整合的分析与研究

无纸化考试系统中Struts,Spring,Hibernate框架整合的分析与研究
方案。 本文 将在开 发 一个无 纸化考试 系统的基 础上分 析 研究 Srt S r g和 Hien t t s pi u 。 n b rae三个 框架 在应 用
中 ,开 发者必 须 明确 系统 的体 系结构 。体 系结构是 复 杂事 物的一 种抽象 化 。好 的体 系结构 受 到普遍 的
运用 。 能有效 地处理 各种 各样 的特殊 的需求 。 并
对 于本 文 所涉 及 到 的无 纸化 考 试 系统 而言 。 由
于系 统是 建 立 在 We b上 的 。所 有 的 功 能可 以通过
b t r ba piain w ihh sgo itia it n xe d it. et p l t hc a od manan blya de tn a ly e we c o i b i
Ke o d J E S r t; p ig Hi e ae MVC p e e t t n ly r b s e sl gc ly r p ni n e ly r y W r : 2 E; tus S r ; b r t; n n ; r s na i e ; u i s o i e , e te c a e o a n a
2 1 年 6月 01 第 3 2卷第 3期
江 西 教 育 学 院学 报 ( 合 ) 综 J un l f i g i n tue f d c t n C mpe e s e o ra o a x Is tt o u a o ( o rh n i ) Jn i E i v
ds e t t n iv sia e e i tg ain o r e ̄au w r s b s d o a e e s e a n t n s se i r e o d v p is r i n e t t s t n e r t f t e / /e o k a e n p p d s x mi a o y tm o d r t e do ao g h o h ' i n

高校专业建设网络信息管理系统的研究和实现

高校专业建设网络信息管理系统的研究和实现

高校专业建设网络信息管理系统的研究和实现【摘要】专业建设是高等学校的一项基本建设,专业建设网络信息管理系统的开发研制,便于尽快了解学校专业建设的情况,促进专业建设体系的改革和建设,提高教学质量和专业办学水平。

本文阐述了基于struts+spring+hibernate框架的高校专业建设网络信息管理系统的研究和实现。

介绍了系统框架结构、基本功能和系统实现。

【关键词】专业建设;struts+spring+hibernate;网络信息管理系统1 研究背景专业建设是高校的一项基本建设,是高校人才培养的重要依托,决定着人才培养的质量和水平。

好的专业就如同名师一样,是一所学校的品牌,既能扩大学校的知名度,又能带来可观的社会效益和经济效益。

因此,加强对专业建设和教学水平的监督和管理,是提高人才培养质量的重要举措。

专业建设网络信息管理系统的开发研制,便于尽快了解学校专业建设的情况,发现各个专业的薄弱环节和普遍存在的问题,给专业遴选、建设项目确定,提供科学客观的依据,为专业建设项目的不定期检查和验收工作提供决策性依据。

了解专业的办学条件及其在培养人才、科学技术研究、社会服务方面的成绩与不足,判断专业教学工作的现状,明确专业建设的目标,有针对性地改进教学工作,促进专业课程体系的改革和建设,提高本科教学质量和专业办学水平。

目前大部分高校的专业建设管理工作基本上已使用电子文档,但随着高等教育大众化的推进,高校办学规模扩大,要有效地管理这些信息和利用这些信息则比较困难,而目前对专业信息的管理基本处于人工管理状态。

随着开设的专业的增多,各种专业管理信息大量增加,合理地利用这些信息,将极大地促进专业的教学、科研等各项活动的开展,也有助于各级领导、管理人员、专业负责人对专业建设进行合理的决策和控制,并可以把管理人员从繁重的体力劳动中解放出来。

随着计算机技术的飞速发展和现代化管理的需要,利用计算机软件进行信息采集、统计、分析管理已成为现代管理的主要发展方向。

struts2+spring3+hibernate整合教程

struts2+spring3+hibernate整合教程

Struts2+Spring3+hibernate3整合(2011年7月末,最新)上次下载了一个教程,上面写着:“献给我亲爱的老婆!”(羡慕不已)。

想了想,我没老婆,难道没什么好写了!不难…献给我暗恋过的每一个女人!(嘿嘿…)如果在你遇到的女生中有一个幽默豁达的女生,不要犹豫,追上去,就娶她了!一,需要的框架包二,建立project,添加相应的.jar文件(重点)1,eclipse中建立dynamic web project,这里是ssh_integrate_0100。

2,src中创建需要的类,这里以一个域模型为user的例子说明。

(现在建立这些类,可以方便我们在搭建时候随时测试!)User.javaIUserDao.javaUserDaoImpl.javaIUserService.javaUserServiceImpl.java3,拷贝spring-framework-3.1.0\dist目录下的所有jar包,注意有一个不是jar的文件,当然拷过去也没事。

4,拷贝spring运行中需要的其他jar文件,主要是mons-logging,可以从spring-framework-3.0.2.RELEASE-dependencies中找到。

ii.Aspectjrt.jar和aspect-waver.jar,可以从spring-framework-2.5.6-with-dependencies/lib/aspectj下面找到(不知道为什么,spring-framework-3.0.2.RELEASE-dependencies中没有aspectjrt的jar包)iii.aopalliance.Jar,apache-dbcp.jar,apache-pool.jar,可以从spring-framework-3.0.2.RELEASE-dependencies中找到。

5,建立beans.xml,这里使用的是annotation和component-scan,这样配置可以大大简化配置,所以是best-practice,其他配置请参考spring文档。

基于Struts和Hibernate毕业设计管理系统的设计与实现

基于Struts和Hibernate毕业设计管理系统的设计与实现

基于Struts和Hibernate毕业设计管理系统的设计与实现摘要:本系统采用struts和hibernate技术,sqlserver2005数据库实现毕业设计管理系统,包括分配学生、教师出题、学生选题、题目审核、相关资料的上传、下载等多个模块。

方便师生在网上交互,提高工作效率。

关键词:毕业设计 struts hibernate 毕业设计管理中图分类号:tp311 文献标识码:a 文章编号:1007-9416(2012)11-0167-01如果毕业设计管理工作采用手工操作,管理过程繁琐、信息交流困难、错漏情况易于发生,总体来说工作效率极其低下。

而如果能采用校园网上毕业设计管理信息系统,会为毕业设计的管理带来了很大的便利。

从而使学生、教师和管理部门都能够方便地利用网络完成各项毕业设计管理任务1、总体设计本系统使用者有三类人员:管理人员、教师、学生。

具体模块有,登录模块、教师管理、学生管理、为教师分配学生、教师出题、题目审核、学生选题、毕业设计上传、下载、毕业设计相关新闻发布、优秀论文展示等模块。

如图1所示:2、系统开放环境使用b/s(browser/server)结构完成本系统。

本系统采用struts 框架作为开发的前台,采用hibernate技术作为数据持久化层,采用sqlserver2005作为数据库。

3、数据库设计本系统设计一个数据库asdb,八个表,分别是:登录信息表、教师信息表、学生信息表、毕业设计题目表、毕业设计相关文件表、新闻信息表、新闻信息相关文件表、优秀论文及相关文件表。

4、系统实现本系统采用struts框架进行开发,有典型的mvc(模型-视图-控制器)架构。

使用jsp作为v(视图),实现界面显示,采用hibernate作为模型层,实现对数据库的各项操作。

主界面实现如下:5、结语本系统实现了毕业设计管理,使得师生能够在网上出题、选题、上传毕业设计、下载毕业设计等等,方便了师生在网上的交互,提高了工作效率。

搭建SSH框架(Struts1,Spring2.5,Hibernate3)

搭建SSH框架:Struts1.* + Spring2.5 + Hibernate3.0 一,项目结构:图(1)Jsp页面省略,主要是一些添删改查的页面;二,开始搭建项目环境,步骤如下:使用平台:MyEclipse6.0/6.5框架版本:Struts1.* + Spring2.5 + Hibernate3.0;1,添加过程:1>,新建项目: 打开MyEclipse,在Package Explorer视图下,右键单击New-> Web Project;注意:在新建项目时,JDK的版本最好要选择Java EE 5.0;因为版本过低,可能有些JSP方面的功能不支持;新建玩项目之后,把该导的包导入到下面,下图为SS H 框架所需要的Jar包,注意,该项目用的是ORACLE数据库;其中,activation与mail这两个包为Java发邮件的包;classes12为Oracle数据库的驱动包,如果不是Oracle数据库,可更换该Jar包;dwe为Ajax dwr 框架中的包;2>,接着就开始用MyEclipse辅助开发Struts,Spring,Hibernate了;3>,首先MyEclipse辅助开发Struts,方法:右键单击你所建的项目,出现一级菜单,选择Myeclipse,选择Myeclipse之后会出现二级菜单,接着选择Add Struts Capabilities;;接着具体操作如下面图示:点击Finish按钮完成;完成之后,可将包删除;在上图中,如果那个勾没有去掉的话,就会自动生产如下标签:当然,如果你觉得标签对你没什么用的话,可以删除;如果该勾去掉的话,就只生成标签,这是Struts的核心标签;4>,MyEclipse辅助开发Spring,方法跟上面的一样,选择Add Spring apabilities;;接着具体操作如下面图示:然后点击Next,具体操作如下图:接着点击 Finish按钮,完成此项操作;5>,,最后MyEclipse辅助开发Hibernate,在执行和上面类似方法之前,Hibernate 需要先做另外一件事情,那就是和数据建立连接,具体操作如下图:点击上图位置的或者右边的>> ,然后再选择MyEclipse Database Explorer切换到如下图页面:,然后右键单击,新建一个Database Driver;如下图:下面这个截图是该项目的数据库链接图:如图所示,测试数据库链接成功;然后可直接点击Finish完成;接着切换到窗口,按照上面第三小步的方法,选择Add Hibernate apabilities;;接着具体操作如下面图示:点击下一步:点击下一步:点击下一步:点击下一步:点击 Finish 完成;6>,最后一步,就是运用Hibernate的映射机制,把数据库的表与JAVA的对形成一个关系映射;在此之前,首先应该在项目SRC的目录下面新建一个包,如该项目所示,用来存放映射生成的POJO对象以及映射文件;如下图:有一点说一下,你生成的*.hbm.xml文件可能不止一个,对,你可以把它们整合到一个文件中;然后新建按第五小步的方法,把窗口切换到MyEclipse Database Explorer界面,然后打开右键刚才所建立的链接,选择属于你自己的用户;然后选择Tble;右键选择如上图的属性:接下来的操作如下图:点击 Next,进入下一步:点击 Next,进入下一步:至此,项目环境己经搭建完成;三,项目搭建完成,SSH各个部分配置文件的说明,以及它们之间存在的关系:1,首先是Struts的核心配置文件,即struts-config.xml:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN""/dtds/struts-config_1_2.dtd"><struts-config><data-sources /><form-beans><!—建立Form表单,在此处进行登记 -→<form-bean name="userForm"type="erForm" /> </form-beans><global-exceptions /><global-forwards /><!—各个Action对应与之相对应的表单 -→<action-mappings><!-- 用户管理 --><action parameter="opers" attribute="userForm" name="userForm"path="/doUser" scope="request"><forward name="login_ok" path="/welcome.jsp"></forward><forward name="login_no" path="/index.jsp"></forward> </action></action-mappings><controllerprocessorClass="org.springframework.web.struts.DelegatingRequestProc essor"></controller><message-resourcesparameter="ermanagerview.struts.ApplicationResources"> </message-resources><!—Spring辅助Struts管理Struts-→<plug-inclassName="org.springframework.web.struts.ContextLoaderPlugIn"><set-property property="contextConfigLocation"value="/WEB-INF/action-servlet.xml" /></plug-in></struts-config>2,其次就是Springd的applicationContext.xml文件和action-servlet.xml文件:applicationContext.xml文件:<?xml version="1.0" encoding="UTF-8"?><beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-2.5.xsd"><!-- Session 工厂 --><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation"value="classpath:hibernate.cfg.xml"><!-- 可以不要配置文件(hibernate.cfg.xml),直接写在这个Spring的配置文件中 --></property></bean><!-- 模板 --><bean id="hibernateTemplate"class="org.springframework.orm.hibernate3.HibernateTemplate"><property name="sessionFactory" ref="sessionFactory" /> </bean><!-- 事务器 --><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManage r"><property name="sessionFactory" ref="sessionFactory" /> </bean><!-- 对外代理 --><!-- 1,用户管理 --><bean id="userDaoImp"class="erDaoImp"><property name="hibernateTemplate" ref="hibernateTemplate" /> </bean><bean id="userServiceTarget"class="erServiceImp"> <property name="userdao"><ref local="userDaoImp" /></property></bean><bean id="userService"class="org.springframework.transaction.interceptor.TransactionProxyF actoryBean"><property name="transactionManager"><ref local="transactionManager" /></property><property name="target"><ref local="userServiceTarget" /></property><property name="transactionAttributes"><props><prop key="*">PROPAGATION_REQUIRED</prop></props></property></bean></beans>action-servlet.xml文件:<!—Spring辅助Struts管理Struts-<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-2.0.xsd"> <bean name="/doUser"class="erAction"scope="prototype"></bean></beans>3,最后就是Hibernate的hibernate.cfg..xml文件:<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""/hibernate-configuration-3.0.dtd"><!-- Generated by MyEclipse Hibernate Tools. --><hibernate-configuration><session-factory><property name="ername">wangxiaodong</property><property name="connection.url">jdbc:oracle:thin:@192.168.0.2:1521:ALIZEEDB</property><property name="dialect">org.hibernate.dialect.Oracle9Dialect</property><propertyname="myeclipse.connection.profile">Test</property><property name="connection.password">donny</property><property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property><mappingresource="com/ygkq/usermanager/model/entity/User.hbm.xml" /></session-factory></hibernate-configuration>该文件基本上不用动,都是自动生成的代码;当然,你也可以根据自己的需要添加代码,例如,你想在执行HQL语句的时候让它显示SQL语句,可将<property name="hibernate.show_sql">true</property>插入代码中;另外在图(1)中还有两个配置文件没有提到,那就是log4j.properties 与mytag.tld;其中log4j.properties是配置日志信息的;而mytag.tld主一个自定义标签;四,SSH框架搭建完成:SSH框架基本搭建完成,如果有不对或者不妥之处,请随时指教!~E-mail:jerry8059@。

基于Struts+Hibernate架构的应用系统设计与实现

他人再一次应用 . 可以在多个抽象的层次和多个领域 内定义模式。 模型 一视图 一控制器( oe —V e M dl i w C n o e) 即 M C模式。 otlr, V rl 就是为那些需要为 同样 的数据提供多个视图的应用程序而设计的 , 它很好

地实现了数据层与表示层的分离 , 减弱了业务逻辑接 口和数据接口之间的耦合。 在开发大型 JE 2 E应用 程序时. M C设计模式合理地运用到实际项 目中. 将 V 可以最大限度地减少开发过程中出现的设计问题 。 A ah 的S us pce t t就是 J V r A A中的一种 M C实现框架 。 V 它用来实现表现层 , 解决了视 图层 、 业务层和控制 层的分离。 同时面向对象的开发方法是当今 的主流 . 但是我们 又不得不使用关系型数据库 . 以在企业 所 级应用开发的环境中, 对象、 关系的映射( R )是一种耗 时又费力的工作 。 OM 】 围绕对象 关系的映射和 持久数据的访问. Jv 领域中发展起来了一些 A I 在 aa P 和框架 . 对象 一关系映射框架 H bra 就是其中 in t e e 的一种 . 它可提供灵活的持久层支持。 S us Hbra 这两种在业 内比较推崇的开源技术相结合 , 把 t t和 ie t r ne 在项 目开发中不管是从效率上还是费用上 以及易维护上都能达到很好的效果。 在研究 M C模式的基础上 . S us i r t相结合的架构应用在某企业纪检监察系统开发 V 将 t t+Hbn e r ea
上. 达到了预期的 目 。 标
l 系统实现架构分析
1 1 M C模式 . V
传统的 We 应用基本都是将页面显示、 b 商业逻辑和数据处理等大部分功能集中在页面中, 此外 , 页 面代码通常还包含用来控制应用程序流程的逻辑 . 这样导致 商业逻辑、 业务 流程和页面显示的耦合性

基于Struts+Hibernate+Spring的整合架构及其在Web开发中的应用


可扩展的 We 用。Hb ra b应 ie t 目前在 J V n e是 A A界使 用非常广泛的 O Mapn R pig的一种 实现 , 以实现 关 系型数据 库和对 可
象之 间的映射 。S r g p n 是为 了解 决企 业应 用开发 的复杂性 而创建的轻量级 的框架。本 文介 绍 了三种技 术的框 架结构和 i
T AN Xi — a L h n L h . i , NG L . in I u y n , IZ o g , UO S i me DE iqa g
( . te a c n fr t nC l g ,N r w s N r a U ie i , azo 30 0 C n ; 1Ma m t s dI o i ol e ot et o l nvr t L nhu7 07 ,  ̄ a h i a n ma o e h m sy 2 C iaT l o as n e C mpn , az o 30 0 C ia . hn e cm G nuWaw i o ay Lnhu7 0 3 , hn ) e
20 0 8年第 1 期 1
计 算 机 与 现 代 化 J U N IY I N A HU I A J U XA D I A S
总第 19期 5
文章编号 : 0 .4 5 20 ) 1 0 50 1 627 (0 8 1 - 9 -4 0 0
基 于 S 构 及 其 在 r e e n We b开发 中的应 用
Ap l ai n i e v lp e tUs s d o tu s+Hi e n t p i t n W b De eo m n eBa e n S r t c o b r ae+S rn p ig
I e r t d Fr m e r nt g a e a wo k

对基于Struts+Spring+Hibernate架构构建Web应用系统的研究


W b 用提 供 了一个通 用 的框架 ,使 得 开发人 员可 以把 精力 集 中在如 何解 决 e应
实 际业 务 问题 上 。此外 ,Sr t框 架提 供 了许 多供 扩 展和 定 制 的地 方 ,应 tus
回 结 果提 交 给A to 代 理 ( tu sx 1 ,A it代 理 则根 据A t o处 理 c in sr t .m ) con cin
C nr le , 简称 M C o to lr V )框 架 , 尤其 适用 于 开 发 大 型 可 扩 展 的W b 用 。 e应
S rt 这个 名字 来 源于 在 建筑 和 旧式 飞机 中使用 的 支持 金 属架 。S r t为 tu s tu s
Hb r ae i en t通用 模板 来操 作底 层 数据库 ;最后整 合 3 ,把D O 层 A 组件 依赖注 入 到 相应 的业 务 逻辑 组件 中, 实现 业务 逻 辑接 口,经 过业 务逻 辑 处理 后 ,返
后 的 结果 ,从 配 置文 件 Sr t.m 找 到对 应 的视 图 资源 ,再发 出h t响应 t u sx l tp 发送 给客 户游 览器 [] 5 24 SH 构 的优 点 。1 S架 )开 发效 率 :采用 严格 分层 JE 架 构 ,对表 现 2E
用程 序可 以方 便 的扩展框 架 ,来更 好 的适应 用户 的实 际 需求 。 12 Hb r ae 架 。Hb ra e 2是 一 个 开放 源 代码 的对 象 关 系 映 . ie nt 框 ie n t []
S LI I C
【 技术研发 】
撩 VAL
对 基 tu s S rn + b r ae 构 于S r t+ p i g Hi e n t架 构 建W e 应 用 系 统 的研 究 b
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录目录 (1)一、SSH整体介绍 (3)1. 简介 (3)(1)Struts用于表现层,负责页面数据提取,页面动作响应。

(3)(2)Spring是一种轻量级的框架模型,主要负责业务逻辑层的对象创建,表现层的Action的创建,以及持久层的DAO的创建。

(3)(3)Hibernate负责把内存中的数据对象保存到数据库中。

(3)2. 框架集成说明 (3)1) Struts与Spring的集成 (3)2) Spring与Hibernate的集成 (3)3. 程序的包结构 (4)1) 表现层的类包 (4)2) 持久层的类包 (4)3) 业务层的类包 (4)二、核心的配置文件的说明: (5)1. Web.xml文件——工程初始化配置文件 (5)1) Servlet配置 (5)2) init-param设置 (6)3) servlet-mapping配置 (7)4) Spring配置文件配置 (7)5) Spring的Bean工厂配置 (7)6) Filter配置 (8)7) 欢迎页面配置 (9)2. struts-config.xml——Struts的配置文件 (9)(1)Form的配置 (9)(2)Action的配置 (9)(3)全局异常处理类配置 (10)(4)全局转发配置 (10)(5)action配置 (10)(6)资源文件配置 (11)3. applicationContext-common.xml——Spring公共配置文件 (11)(1)Session工厂配置 (11)(2)事务配置 (12)4. applicationContext-beans.xml——Spring中Bean的配置文件 (12)5. hibernate.cfg.xml——Hibernate的配置文件 (13)(1)Hibernate中Session工厂的配置 (13)(2)hbm.xml配置文件 (14)(3)DAO实现类说明 (15)三、Demo实例说明 (15)1、demo.jsp: (15)2、addRate.jsp (16)3、rateList.jsp (16)4、rateinfoAction (17)5、rateinfoAction 的配置(struts-config.xml) (17)6、配置spring文件 (18)7、比例列表(rateList.jsp): (20)一、SSH整体介绍1. 简介本Demo程序采用的是SSH(Struts+Spring+Hibernate)三层架构。

(1)Struts用于表现层,负责页面数据提取,页面动作响应。

(2)Spring是一种轻量级的框架模型,主要负责业务逻辑层的对象创建,表现层的Action的创建,以及持久层的DAO的创建。

(3)Hibernate负责把内存中的数据对象保存到数据库中。

2. 框架集成说明在SSH三层架构中,主要用Struts来实现对页面的响应及页面跳转。

当用户向服务器发送某一个请求,这个请求会被服务器(Tomcat)接收到,服务器会根据请求的内容,将这个请求发送给相应的Servlet实例进行处理。

Servlet会根据其内容,去生成相应的Action实例。

本程序中,Struts将Action的创建工作交给了Spring的代理类来完成,创建这个实例后,将这个实例注入,由Struts调用Action中的相应方法。

Action中可以配置一个或多个Service对象,Action调用Service中的方法进行业务处理。

Service中通常会有一个或多个DAO的对象,DAO 继承了Hibernate的接口,用来处理数据库的操作。

而Action,Service,DAO的创建与注入,都是由Spring的Bean工厂来实现的。

1)Struts与Spring的集成✧在Web.xml中配置Struts的配置文件✧在Web.xml中配置Spring的配置文件,Bean工厂及过滤器✧在Struts配置文件中集成Spring的代理类✧在Spring配置文件中配置Action2)Spring与Hibernate的集成✧在Web.xml中配置Hibernate延迟过滤器配置✧在Web.xml中配置Spring的配置文件,Bean工厂及过滤器✧在Spring配置文件中配置DAO✧在Hibernate配置文件中配置数据库信息✧在DAO的实现类中继承HibernateDaoSupport类3. 程序的包结构1)表现层的类包com.ra.web.actionform与com.ra.web.action这两个包,分别用来存放表现层的Form与Action。

2)持久层的类包此文件夹下放置模型类,以及对应的Hibernate配置文件。

com.ra.dao包为DAO层的接口类,com.ra.dao.Impl包用来放对应的dao的接口实现类。

3)业务层的类包这个包用来放置相应的Service,用来处理相应的业务逻辑。

二、核心的配置文件的说明:1. Web.xml文件——工程初始化配置文件1)Servlet配置在WebRoot文件下的Web.xml文件,是WebProject工程配置文件,Tomcat服务器在启动时,会自动加载所有工程中的Web.xml文件。

服务器会根据Web.xml中的配置信息,生成相应的Servlet的实例对象,用来处理客户端发送来的请求。

本程序的Servlet是使用的Struts中的ActionServlet,它是继承的HttpServlet类。

ActionServlet 支持多线程,目前的Struts框架只允许在应用中配置一个ActionServlet。

它是Struts中的控制器,系统的指令由其中转,它从struts-config.xml中读取配置信息,并在服务器后台自动启动一个线程。

2)init-param设置Init-param设置ActionServlet运行参数,对Servlet的运行环境进行初始化配置。

实际上param-name的值是与ActionServlet中的属性相对应的。

ActionServlet在创建时会调用init函数,函数会用配置文件中param-value值来设置相应的属性。

A)Struts配置文件设置以相对路径的方式指明Struts应用程序的配置文件位置,在ActionServlet中默认值为/WEB-INF/struts-config.xml,所以如果是默认情况,在这里也可以不用配置。

如果有多个配置文件可以用逗号分隔符。

B)debug设置设置Servlet的debug级别,控制日志记录的详细程序。

默认为0,记录相对最少的日志信息。

C)detail设置设置Digester的debug级别,Digester是Struts框架所使用的用来解析xml配置文件的一个框架,通过该设置,可以查看不同详细等级的解析日志。

默认为0,记录相对最少的日志信息。

D)load-on-startup设置这个标记指示Web应用服务器在启动时加载这个Servlet(实例化并调用init方法),标记的内容必须使用一个整数指定Servlet的加载顺序。

如果这个整数是负值,或者这个值没有出现,那么窗口任意选择Servlet加载。

如果这个整数大于等于零以,那么窗口必须按照部署的顺序加载他们。

容器必须保证,拥有小的load-on-startup值的Servlet必须先被加载,如果Servlet有相同的load-on-startup值,那么,容器将自动选择这些Servlet的加载顺序。

3)servlet-mapping配置这里*是通配符,表示服务器只要接收到的形如*.do的请求,就会把这个请求交由名为action 的servlet实例来处理。

请求的形式可以由开发者自己定义,Struts中通常都用do来做为后缀。

而此处的servlet-name与上面servlet定义中的servlet-name是相对应的。

4)Spring配置文件配置context-param是application范围内的参数,存放在servletcontext中。

此所设定的参数,在JSP 内页中可以使用${initParam.param_name}来取得,若在Servlet可以使用String param_name = getServletContext().getInitParamter(“param_name”);来取得。

在此程序中,参数contextConfigLocation用来定义要装入的Spring配置文件。

如果想装入多个配置文件,可以在<param-value>标记中用逗号作为分隔符。

默认情况Spring的配置文件为applicationContext.xml。

此程序是因为改变了spring配置文件名字,所以才需要在Web.xml中配置。

如果是默认情况则不需要配置。

5)Spring的Bean工厂配置listener元素用来定义Listerner接口,ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。

它实现了ServletContextListener这个接口,在Web.xml 配置这个监听器,启动容器时,就会默认执行它的实现的方法,加载相应的Spring类,以使当对象调用时,实现其相应的注入。

这是一个Spring的重要类,在ContextLoaderListener中关联了ContextLoader类。

所以整个加载配置过程由ContextLoader来完成,它创建的是XmlWebApplicationContext这样一个类,这个类实现了BeanFactory接口,所以Spring中的所有的bean都由这个类来创建。

6)Filter配置filter元素用来声明filter的相关设定。

过滤器就是一个Servlet,只是比较特殊而已,可以用它来对客户端请求以及发出的响应进行部分的过滤操作。

filter-name是过滤器的名称,filter-class为对应的类。

filter-mapping元素的两个主要子元素为filter-name与url-pattern,用来定义filter所对应的url。

”/*”形如这样的url都会发送给相应的过滤器。

A)Spring中文乱码过滤器配置在web开发中常常遇到中文乱码的问题,解决的方案常常是在Web.xml中配置一个过滤器,Spring为我们的web开发提供了一个过滤器,可以解决中文乱码的问题。

B)Hibernate延迟过滤器配置Hibernate的session的生命周期横跨Servlet和Jsp,当我们的Jsp需要用到某个延迟属性的时候,发现session已经关闭了,就会发生延迟加载例外。

相关文档
最新文档