• 工作总结
  • 工作计划
  • 心得体会
  • 述职报告
  • 事迹材料
  • 申请书
  • 作文大全
  • 读后感
  • 调查报告
  • 励志歌曲
  • 请假条
  • 创先争优
  • 毕业实习
  • 财神节
  • 高中主题
  • 小学一年
  • 名人名言
  • 财务工作
  • 小说/有
  • 承揽合同
  • 寒假计划
  • 外贸信函
  • 励志电影
  • 个人写作
  • 其它相关
  • 生活常识
  • 安全稳定
  • 心情短语
  • 爱情短信
  • 工会工作
  • 小学五年
  • 金融类工
  • 搞笑短信
  • 医务工作
  • 党团工作
  • 党校学习
  • 学习体会
  • 下半年工
  • 买卖合同
  • qq空间
  • 食品广告
  • 办公室工
  • 保险合同
  • 儿童英语
  • 软件下载
  • 广告合同
  • 服装广告
  • 学生会工
  • 文明礼仪
  • 农村工作
  • 人大政协
  • 创意广告
  • 您现在的位置:六七范文网 > 其它相关 > 正文

    SSHA框架在图书管理系统中的应用

    来源:六七范文网 时间:2023-05-29 05:45:07 点击:

    摘要:利用Struts、Spring、Hibernate、Ajax框架设计了图书管理系统,实现了用户界面、业务处理和数据访问的分离。系统Web页面的设计采用Ajax技术,数据持久层的设计通过Spring与Hibernate的集成完成,业务层与表示层的设计通过Spring与Struts的集成完成。实际应用表明,SSHA整合架构发挥了各框架在各个层次上的优势,降低了开发的难度,提高了Web页面的访问效率,在可维护性、交互性上较之一般的J2EE开发有明显的优势。

    关键词:图书管理系统;SSHA框架;MVC;持久化

    中图分类号:TP311.52文献标识码:A文章编号:16727800(2011)02007904

    基金项目:湖南省教育厅科学研究项目(06D038)

    作者简介:裴芳(1977-),女,湖南常德人,硕士,湖南机电职业技术学院讲师,研究方向为软件设计、操作系统;刘云龙(1975-),男,湖南常德人,长沙开元仪器有限公司工程师,研究方向为嵌入式系统;张浩(1981-)女,湖南常德人,硕士,湖南机电职业技术学院讲师,研究方向为软件软件设计、操作系统开发。0引言

    在Web程序开发过程中,一个良好的框架既可以确保软件的质量,也可以提高开发效率。综合利用SSHA框架可以提高开发效率,使系统的可读性、代码重用性和维护性各方面都有良好的改进。Struts框架将业务数据、页面显示、动作处理进行分离,有利于各组件的维护。Spring框架利用延时注入思想组装代码,能实现面向接口编程和面向方面编程的分层架构,大大增强项目的可扩展性。Hibernate是一种ORM映射工具,它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL手工操作数据库,大大减少了操作数据库的工作量。因此,在Web开发中,研究和应用SSH轻量级架构技术非常有意义。

    目前,很多B/S模式的图书管理系统是基于传统的Jsp Model 1模型建立的。随着用户需求的变化,要扩充系统功能,改善用户界面。传统的Jsp Model 1模型建立的系统形式固定,HTML和Java强耦合在一起,导致页面设计与逻辑处理无法分离。功能划分不清,不便于系统的维护和升级。本文结合SSHA技术,设计并开发了一个图书管理应用系统,该系统可扩充性良好,可以重复利用组件进行其他项目的开发。

    1系统使用技术

    Struts是一个基于MVC体系结构的Web应用程序的框架,具有组件模块化、灵活性和可重用性等优点,极大地简化了Web应用程序的开发。它合理地将用户表示逻辑、业务逻辑和控制逻辑分离,使得开发过程变得简洁清晰,提高了软件的可维护性和可重用性。View(视图)由包含一组可扩展的自定义标签库(Tag Lib)JSP来建立,Model(模型)主要由ActiomFormBean来实现,业务逻辑通常由JavaBean或EJB组件来实现,控制器主要由Action Servlet实现.Struts的核心是ActionServlet.ActionServlet的控制参数在配置文件config.xml中。

    2系统的结构和设计

    2.1系统结构

    图书管理系统包括系统管理、图书借阅与返还管理、读者管理和图书管理4个模块。系统管理模块包括对系统参数的维护、读者权限的设置等;图书借阅与返还管理则是处理日常业务,包括图书的借出、归还及查询等;读者管理则是对读者信息进行维护,包括办证、挂失等,以及个人信息的建立与查询;图书管理是对图书资料进行维护,包括查询、修改、增加、删除及打印报表等。

    2.2系统设计和分析

    2.2.1系统总体架构

    图书管理系统框架采用Struts、Spring与Hibernate构架进行开发。Struts框架将业务数据、页面显示、动作处理进行分离,降低系统的藕合性。在Web页面采用Struts强大的TagLib标记库,能灵活动用,大大提高开发效率。Hibernate框架在系统中提供持久层支持,通过MyEclipse提供的Hibernate反转工程工具,为数据库中的数据表生成相应的POJO(plain object Java object)类和映射文件,并生成对数据进行增、删、减、查的方法。这些方法封装在DAO类中。spring管理系统组件间的依赖关系,系统采用面向接口编程的方式,定义业务层的组件接口,独立开发各个组件,然后根据依赖关系组装组件。以读者管理模块为例,系统组件的注入关系为图1所示。图1系统的注入关系图

    除此,Spring通过声明的方式给系统增加事务支持。以借书模块为例,在业务层增加的事务支持代码是:

    class="org.springframework.orm.hibernate3.HibernateTransactionManager">

    readonly="true" />

    readonly="true" />

    readonly="true" />

    expression="execution(* liberary.biz.lendbookbiz.*(..))"/>

    系统开发结构如图2所示。

    图2系统开发结构

    2.2.2Spring和Hibernate框架开发持久层

    对于Hibernate的应用主要是应用配置文件即0/R映射配置文件和hibernate.cfg.xml配置文件。通过反转工具生成的0/R映射配置文件表达出持久类与数据库表的映射关系。Hibernate将根据这个映射文件来生成各种SQL语句,实现数据的访间。在Hibernate的hibernate.cfg.xml配置文件中,定义链接池、访问数据库的URL资源定位地址、数据库名称、数据库方言MySQLDialect、数据库链接驱动程序等Hibernate运行需要的主要属性信息。

    使用Spring整合Hibernate时不需要hibernate.cfg.xml文件。首先,在applicationContext.xml中配置数据源(dataSource)bean和session工厂(sessionFactory)bean。其次,Spring提供了HibernateTemplate,用于持久层访问,该模板无需打开Session及关闭Session。它只要获得SessionFactory的引用,便可以打开Session,并在持久化访问结束后关闭Session,程序开发只需完成业务逻辑层,DAO层的开发(如对数据库中数据的增、删、改、查)则由HibernateTemplate完成。以读者管理模块为例,Spring和Hibernate整合后的ApplicationContext配置文件代码:

    class="org.apache.commons.dbcp.BasicDataSource">

    value="com.microsoft.sqlserver.jdbc.SQLServerDriver">

    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

    org.hibernate.dialect.SQLServerDialect

    entity/User.hbm.xml

    2.2.3spring 和Struts框架对Action的管理

    Struts框架是基于MVC(model view controller)模式的框架。使用Struts框架只需关注相应的ActionBean、ActionFormBean和JSP组件的开发。使用Struts的Taglib标记库,灵活动用,大大提高JSP组件的开发效率。使用MyEclipse添加Strut支持时会自动在Web.xml文件中配置action Servlet,在Strutsconfig.xml文件中配置messageresources5。在Strutsconfig.xml文件的设计视图中使用向导创建Action和 Action Form 。在用户管理模块的用户注册子模块中,Action和Action Form的配置如下:

    attribute=" UserForm "

    name=" UserForm "

    parameter="operate"

    path="/reg"

    scope="request" type=" liberary.web.action.UserAction ">

    在UserRegAction中使用Biz層提供的接口,判断用户注册是否成功,注册成功,转入首页,否则,转入错误页面。使用Spring整合Struts时,Struts中的Action由Spring进行创建,利用Spring提供的ContextLoaderPlugIn插件即可做到Spring与Struts的无缝集成。StrutsConfig.xml的插件代码为:

    value="/webINF/applicationContext.xml" />

    把Spring配置文件的位置告知插件,并将Action的类别配置为Spring的代理类。在Spring的配置文件applicationContext.xml中配置Action bean,并通过Spring的依赖注入关系,注入相关的Biz信息,对应的配置信息为:

    将Struts配置文件中Action类别配置为“org.springframework.web.struts.DelegatingActionProxy”,注册子模块UserAction的配置为:

    attribute=" UserForm "

    name=" UserForm "

    parameter="operate"

    path="/reg"

    scope="request"

    type="org.springframework.web.struts.DelegatingActionProxy">

    2.2.4使用Ajax改进用户体验

    在用户进行注册子模块中,注册页面使用Ajax页面无刷新技术。在客户端,当用户名输入框失去焦点时,信息己发送至服务器端,并判断用户名是否存在,若已存在,则弹出对话框提示。Ajax技术中使用了Dwr框架。Dwr是在Apache许可下的一个开源的解决方案,它允许在浏览器里的代码使用运行在Web服务器上的Java函数,就像它就在浏览器里一样。Dwr使得浏览器不用刷新页面就可以从远程Web服务器取得用户需的数据,这种无刷新页面的交互方式大大提高Web页面的响应时间。具体做法是先导入Dwr的jar包,然后配置Web.xml和/WebINF/下的dwr.xml文件。Dwr可以将普通的类发布成JavaScript可以调用的脚本对象。在用户注册子模块中,Dwr发布的类是在Spring配置文件中定义的javabean,dwr.xml配置文件如下:

    在頁面代码中要导入/dwr/interface/JPetNameCheck.js、dwr/engine.js、dwr/util.js脚本,通过脚本对象调用方法,第二个参数是回调函数的函数名。

    <script type="text/javascript" src="/epet/dwr/interface/JPetNameCheck.js"></script>

    <script type="text/javascript" src="/epet/dwr/engine.js"></script>

    <script type="text/javascript" src="/epet/dwr/util.js"></script>

    <script>

    function checkUserExists(oCtl){

    var uname = oCtl.value;

    UserNameCheck.check(uname,checkUserExists_callback);

    }

    function checkUserExists_callback (isExist) {

    if(isExist == 1){

    alert("用户名已存在!");

    }

    else if(isExist == 0){

    alert("用户名不存在!");

    }

    }

    </script>

    3结束语

    文中对图书管理系统的设计以Spring框架为核心,向下整合Hibernate进行持久层访问,向上整合Struts按清晰的MVC模式控制,使Spring与Struts轻松集成。使用Spring的依赖注入管理程序间的依赖关系,做到面向接口编程,降低了程序间的紧密结合程度,增强灵活性、可维护性和可扩展性。Web页面采用Ajax技术,使用户操作方便、快捷。采用ssh框架有效地缩短了系统开发周期,提高了系统的可维护性和可重用性。该系统运行效果良好,大大简化了图书管理工作,且具有良好的扩展性。

    参考文献:

    [1]潘伟.基于UML实现图书管理系统的建模设计[J].图书情报知识,2005(2).

    [2]孙卫琴.精通Struts基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2005.

    [3]孙卫琴.精通Hibernate:Java对象持久化技术详解[M].北京:电子工业出版社,2006.

    [4]赵永屹,宿红毅,胡韶辉基于AJAX与J2EE的新型Web应用的设计与实现 [J].计算机工程与设计,2007(1).

    [5]李刚.轻量级企业应用实战—Struts+Spring+Hibemate整合开发[M].北京:电子工业出版社,2007.

    [6]施伟,张培.AJAX Web2.快速人门与项目实践(.net)[M].北京:人民邮电出版社,2006.

    (责任编辑:王钊)

    推荐访问:框架 系统中的应用 图书 管理 SSHA