开源技术Struts、Spring、Hibernate(7)
北方民族大学硕士学位论文 开源技术Struts,Spring,Hibernate在MIS开发中的应用研究
第4章 Web应用系统分析与设计
基于Web的项目,一般都分为部署在服务器上供客户访问的网站前台,和对网站进行管理的后台,网站后台管理范围依据具体项目有所不同。大致来说,一般的网站后台都有权限管理,不同权限可以对数据库做不同的操作。另外,象文章发布(有的是本单位的新闻之类),图片(或者是产品,或者是人物)等都是必须的。本章以开发一个通用的网站后台管理系统为例,需求范围是一般后台管理功能的交集,提出一个以Struts、Spring和Hibernate整合架构来实现,以为以后MIS系统开发做参考。
4.1项目需求分析
通过对多个后台管理系统分析,一般的系统都具有如下功能:用户管理,模块管理,文章管理,图片管理,链接管理,对数据库模糊查询,对登录后操作人员所做的各种操作进行记录,回收站管理等。 1. 会员管理子系统
任何一个后台都必须有用户管理,除非它是给某个特定用户,它记录用户基本信息(姓名,密码,性别,年龄,地址,Email,电话,创建用户时间,最近登录时间),使用权限。同时可以根据权限做不同的操作,系统管理员必须有增加用户,删除用户,修改用户信息等功能。
1、 会员注册 2、 会员列表 3、 权限设置 4、 删除用户
2. 信息发布子系统
一般的单位都必须提供文章管理,本模块用来为网站添加新闻,文献,评论等文字的东西,所以文章的信息必须有文章的一级标题,二级标题,作者,内容,文章创作时间,文章修改时间等。还可以根据权限可以写文章,读文章,删除文章。
新闻发布 产品信息发布 3. 订单管理子系统
5、 订单申请 6、 订单列表 7、 订单处理 8、 订单删除
4. 招聘管理子系统
9、 招聘处理 10、 11、 12、
岗位添加 岗位修改 岗位删除
-30-
北方民族大学硕士学位论文 开源技术Struts,Spring,Hibernate在MIS开发中的应用研究
5. 留言管理
13、 14、 15、 16、
留言列表 留言处理 留言删除 权限设置
6. 日志管理子系统
任何一个登录本网站的人员都必须对其跟踪,知道她对本网站做了些什么。
图4.1是网站后台管理系统用例图。一般软件开发都有详细设计说明书,本论文目的是给西部MIS系统开发系统架构设计作参考,故不在论文中提及设计说明书。本系统在附录一中有用户管理模块的的详细设计说明书的样板,读者可以参阅。
用户管理图片管理模块管理<
4.2总体架构设计
整合框架的思想是利用Struts架构作为系统的流程控制,它负责了MVC的分离,而且他的作用也仅仅是控制MVC的分离,而没有使用Struts的模型,因为模型交给Spring管理能够带来给以后系统带来巨大的便利,如数据库由MySq替换成Oracal时,只需要修改里面的数据源,也就带来了便于移植的便利。当然还有其他的好处。业务层用Spring的IoC和AOP支持。具体做法是用面向对象的分析方法根据需求来提出一个模型,将这些模型采用Java语言实现出基本的Java对象,然后写出基本的DAO接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,然后由Spring来完成业务逻辑。图4.2是整合框架原理图。
-31-
北方民族大学硕士学位论文 开源技术Struts,Spring,Hibernate在MIS开发中的应用研究
表示层Struts-MVCStrutsActionActionFormJSPStruts-config.xml业务逻辑层Spring事务管理ApplicationContextHibernate的Session管理业务逻辑类管理数据持久层Hibernate数据源或者DAO Class数据连接池查询语言支持等 图4.2整合框架原理图
本章先阐述数据持久层和业务逻辑层如何实现通讯。然后介绍业务逻辑层如何解决Struts中应用逻辑所存在局限的问题,即通过Spring管理,从而形成了一个整合后的框架。
4.2.1 业务逻辑层与数据持久层的通讯及其解耦方式
业务逻辑与数据持久层的通讯设计如图4.3所示。在这里重点介绍接口设计思想和HibernateTemplatet以及对象关系映射。
接口实现接口业务逻辑Bean继承HibernateTemplateHibernate O/R映射管理数据库 图4.3 业务逻辑与数据库通讯设计
(1)使用接口设计思想
封装的一种方式是通过使用接口(Interface)实现的。接口(Interface)提供一种途径,使类隐藏其处理的特定事物的细节,仅对外公布它必须支持的属性。对于编程所涉及的,你可以修改类的实现,而不修改它的调用,因为属性本身没有改变,修改的仅仅是类的实现。通过实现类的接口,并且在类设计时仅对外公布接口(Interface),你就有效的封装了类的定义,这样后台实现的变动将对系统其它部分的影响最小,也就有效的解决了耦合过高的问题。另外,模块的接口多了一层隔离,同样降低了耦合,把接口的通用性和接口的适应性分离,又明确了模块的边界,使得接口在日后的优化和调整有了缓冲。 (2)HibernateTemplate
就像JDBCTemplate一样,HibernateTemplate封装了Hibernate存储时的细节。HibernateTemplate也提供持久层访问模板化,使用HibernateTemplate无须实现特定接口,它只需要提供一个SessionFactory的引用,就可执行持久化操作。对于在Web应用,通常启动时自动加载
ApplicationContext,SessionFactory和DAO对象都处在Spring上下文管理下,因此无须在代码中显式设置,可采用依赖注入解耦SessionFactory和DAO,依赖关系通过配置文件来设置。当数据库进行移植时(例如由mysql转换为sqlserver),只需要修改有下划线的语句,所有上层设计和编码都没有任何改变,这里实现了完全的与数据库的解耦。需要说明的是,数据源和SessionFactory是属于
-32-
北方民族大学硕士学位论文 开源技术Struts,Spring,Hibernate在MIS开发中的应用研究
hibernate-config.xml中的,为了便于管理,在这里一起集成到了applicationContext.xml中,如下代码所示:
-33- 北方民族大学硕士学位论文 开源技术Struts,Spring,Hibernate在MIS开发中的应用研究 DAO实现类中,可采用更简单的方式来取得HibernateTemplate的实例。代码如下: public class PersnDAOImpl implements PersonDAO { //以私有的成员变量来保存SessionFactory,之所以要用private,是为了防止对象之间访问时出错,因为在多人协作开发中,各个开发人员可能用了相同的对象名字。 private SessionFactory sessionFacto
…… 此处隐藏:2228字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




