教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

开源技术Struts、Spring、Hibernate(7)

来源:网络收集 时间:2026-02-18
导读: 北方民族大学硕士学位论文 开源技术Struts,Spring,Hibernate在MIS开发中的应用研究 第4章 Web应用系统分析与设计 基于Web的项目,一般都分为部署在服务器上供客户访问的网站前台,和对网站进行管理的后台,网站后

北方民族大学硕士学位论文 开源技术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.1 网站后台管理系统用例图

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字,全部文档内容请下载后查看。喜欢就下载吧 ……

开源技术Struts、Spring、Hibernate(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/402890.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)