APP下载

基于Struts、Hibernate实现的办公一体化管理系统

2014-10-15国威

中国新通信 2014年17期
关键词:管理系统

国威

【摘要】 随着J2EE平台在各个领域的广泛应用,多层Web结构在军队的各个领域已经逐渐普及。J2EE设计中出现了一些开源而又免费的应用框架,为轻量级的办公一体化实现提供了快速而又经济的方案;Struts框架和Hibernate持久化框架是其中的典型代表。

【关键词】 Struts Hibernate 办公一体化 管理系统

一、序言

传统B/S架构的服务器端程序得到广泛应用的同时,J2EE等WEB应用技术框架也越来越受到应用程序开发人员的青睐;然而,部署J2EE平台应用成本较高,所以实现一种轻量级的WEB应用框架就显得尤为必要。

本文将Struts框架和Hibernate持久化框架结合起来,并用它们创建一个轻量级的WEB应用平台,并在此基础上实现一个办公一体化管理系统。

二、Struts框架

在MVC模式思想的基础上,Struts将JSP和Servlets在WEB应用开发中各自的优势结合起来,不仅可以降低WEB开发人员开发应用程序的时间,而且能够建立一个灵活的、扩展性强的应用系统。Struts具备MVC模型的各种特性,提供一些预定义的对象来实现MVC的基本特征,以此简化MVC应用程序的开发;另外,Struts还允许使用XML文件配置默认的应用框架,并可以方便的实现应用程序的国际化。

在Struts框架下实现WEB应用程序时,需要经过“视图显示、处理动作请求、处理业务以及显示视图”这几个过程[1],在配置文件Struts-config.xml中定义了处理动作请求的顺序,Struts框架下的MVC视图如图1所示:

如图1所示,Struts框架的视图部分(View)是基于JSP的,它将会访问需要放入表单中的用户数据,并且当用户数据有修改时进行保存;模型部分(Model)包括系统的状态和能改变状态的行为两部分,而控制器(Controller)集中接收用户的请求,并路由到正确的业务逻辑;这三部分各自的功能和特性清楚地体现了MVC模型的特点。

Struts框架主要包括Servlet、JSP TabLib以及一些可以相互协作的类,实用程序类完成具体的业务逻辑、控制器和存储的回收工作,并将用户的请求映射到具体的操作。其中ActionServlet类是Struts框架的控制器组件,请求URL会被映射到此Servlet类,并由这个类的实例接受并处理改变用户交互状态的请求。ActionMapping类确定了特定的事件映射到具体Action的规则,从而使Action可以访问用于控制流程的信息。Action类把用户的请求转换为具体的业务逻辑。

三、Hibernate持久化框架

程序的持久化指的是应用程序的输入存在于其整个生命周期,不因程序的结束而消失。Java程序的对象是存在于内存中的,所以无法保证程序的持久化,对诸如订单等对象而言,如果对象无法持久化,就不能长久保存订单中的数据,所以持久化是应用程序必须要解决的一个问题。

Hibernate是一种基于Java的持久化中间件,由于对JDBC进行了轻量级的对象封装,Hibernate持久化框架可以开发出遵循普通类规范的持久化类,所以既能够提供ORM映射服务,而且可以提供数据查询和缓存的功能,这一特性无疑在很大程度上减少了开发人员使用SQL及JDBC处理数据的时间开销。Hibernate非常适用于基于Java的中间层应用,这是因为Hibernate有如下优势[2]:(1)开源且免费。所有的开发人员都可以获取其源代码,并进行改写、定制特定的功能以适应特定需要;(2)轻量级封装和强扩展性。对JDBC的封装操作是轻量级的,而开放的API又使其具有很强的扩展性;(3)可集成多种web服务器。

Hibernate持久化框架包含几个核心包,cglib-asm.jar包能够用于动态实现PO字节码;dom4j.jar用于读写XML文件;commons-*.jar包含Apache开发的集合类和Beam工具类。Hibernate持久化框架有两个配置文件:hibernate.properties和hibernate.cfg.xml,它们的配置项是相同的。如果需要访问数据库的话,应该配置tomcat的配置文件conf/server.xml,在其中定义数据库驱动器、用户名和密码等信息。基于Hibernate的应用中,一个数据表可以对应一个Plain Object(PO),它本质上就是一个Java Bean,目的是为数据表中的字段定义访问方法,一般一个字段对应一对Set和Get方法[3]。

四、办公一体化管理系统的构建

随着推进军队现代化进程的要求越来越深入,越来越需要建立办公一体化管理系统,分析主要的系统需求后可知,系统应该实现如下功能:作训管理、军务管理以及部队的器材管理等。

作训管理的重要工作内容是实现部队内部各种资料、文档及档案的办公一体化管理。部队的上下级之间以及不同部门之间经常会有重要文件的流转,利用办公一体化管理系统只需要发送或接收地址即可完成文件的流转;在此基础上,部队内部下级可以根据上级的作训命令,从办公一体化管理系统中接收作训科目、作训人员等信息。军务管理可以有效追踪部队中人员流动情况,实现老兵、新兵有效的人员管理;必要时还可以对物资的使用予以跟踪。

实现作训管理的核心代码如下所示:

public void pageLoad(object sender, system.EventArgs e)

{

this.pageBegin(“作训管理”,False);

user=new User(convert.int(this.username)); #取得用户名

if(user.role == userRoleConsultant && user.role !=

userRoleNone) #检查用户的角色

{

Response.Redirect(application+”/login.asp”);

}

If(!isPostBack)

{

BindProject(); #绑定被调用的函数

}

}

考虑到办公管理系统的实际使用需求,本文在实现基于struts和Hibernate的办公一体化管理系统时,采用的是B/S架构,客户端选择任意浏览器,服务器端使用tomcat,数据库使用的是Hbase。HBase是一个分布式,版本化,面向列的数据库,构建在Apache Hadoop和 Apache ZooKeeper之上,负责存储办公数据。在数据库设计时根据要实现的需求设计出包括内模式、外模式等在内的各种数据库模式和对应的应用程序,由于数据设计的好坏会直接影响办公一体化管理系统是否可以正常工作,所以建立数据库并不是简单的将数据存放到数据库中,而且还需要分析存在于数据间的联系;另外,需要进行数据的逻辑设计和物理设计:逻辑设计的作用是把概念数据模型转换为数据库可以表示的逻辑模式;物理设计的目的是根据概念模式得到数据库的存储空间分配、存储格式等内模式。

Hibernate持久化框架完成数据的封装和持久化,具体实现时,struts框架和Hibernate持久化框架结合起来,将客户表现层、数据持久化层以及应用处理层分开,从一定程度上提高了系统的性能。在检索数据时,Hibernate可以使用如下方式[4]:SQL、Hiberate查询语言以及Criteria Query。SQL查询方式直接使用数据库查询语句查询数据,对数据库表中的字段进行操作,这在需要借助某些数据库特性的时候非常有用;Hiberate查询语言(HQL)不操作表中的字段,而是持久化对象的字段;Criteria 本身只是一个容器,并不提供查询功能,Criteria Query将查询条件封装为一个对象,并通过add方法添加到Criteria实例中。为提高数据查询性能,Hibernate也使用了缓存机制,并将cache分为两层:事物级数据缓存和第三方cache。

五、结论

本文首先介绍了Struts框架和Hibernate持久化框架的基本内容,并以此为基础实现了基于Struts和Hibernate框架的办公一体化管理系统。实践证明,本文实现的办公一体化管理系统能够给此方面的研究提供一定的借鉴。

参 考 文 献

[1] 王伟; 田踺.基于云技术的电子政务信息系统安全一体化保障[J].中国信息界.2014-02-20.

[2] 朱晴.基于Struts与Hibernate网络化协同办公平台的设计及实现[D].电子科技大学.2010.

[3] 任文娟.基于Struts和Hibernate框架的网络办公系统的设计与实现[D].山东大学.2013.

[4] 李明,张鹏.基于Struts2、Hibernate和Ajax的办公自动化系统的设计与实现[J].硅谷,2013,12(23).

猜你喜欢

管理系统
基于James的院内邮件管理系统的实现
基于Excel固定资产管理系统的设计与实现
联调联试管理系统的研究及实现
基于LED联动显示的违停管理系统
停车场寻车管理系统
生产管理系统概述
船舶压载水管理系统
海盾压载水管理系统
基于SNMP的IP地址管理系统开发与应用
一种基于Web新型校园门禁管理系统