1、 基于 Struts 架构的 OA 系统的研究与开发2011 年 11 月基于 Struts 架构的 OA 系统毕业论文II摘 要随着社会经济的发展,计算机、网络技术的应用已经渗透到企业的日常工作中。传统的办公室管理方式已经不能满足企业对信息的快速传递与处理的需求,而网络办公自动化的应用解决了这一问题,完善企业内部的管理模式,提高了企业内部的管理水平,进而全面得提升了企业在市场竞争中的综合竞争力。办公自动化系统基于网络,提高了企业内部的信息化水平。本文描述了一个办公自动化系统的开发过程,依据面向对象设计的开发思想,利用 MVC 设计模式,选用浏览器/服务器(B/S)模式搭建,使用 Hibern
2、ate 技术操作数据库,并用 Struts 完成了系统的最终实现。根据办公自动化的特点,可将系统分为日常管理、考勤管理、计划指定、审核管理、员工管理、通讯管理 6 个部分。关键词:办公自动化,面向对象,MVC,Struts , Hibernate,B/S2012 届苏州经贸职业技术学院毕业论文III目 录第 1 章 引言1.1 办公自动化软件开发的现状当今社会是一个信息飞速发展的社会,因此,针对各行业来说,计算机的应用实为重要,求质量、求速度,尽可能的脱离手工操作,是现代人追求的目标。分析人士指出,在一个企业的运作过程中,交流成本成为了总成本的一个重大构成部分,因此,如何实现快速、有效的交流以
3、降低交流成本成为每个企业所关心的问题。在现代社会中,任何一个行业,任何一个企业,高效准确的办公都是至关重要的。快捷的信息交流,畅通的公文传递,迅速的文档查询,自动的工作流转等等都能提高一个企业的办公效率,进而提高其市场竞争力。图 1.1 传统办公模式传统的办公模式主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。Internet/Intranet 的迅猛发展,为信息的交流和共享,团队的协同运作提供了技术的保证,同时也预示着网络化办公时代来临。图 1.2 网络化办公模式现有办公自动化系统中,企业文件流转功能都是核心功能。可以认为,企业办公主基于 St
4、ruts 架构的 OA 系统毕业论文2要是一个文件流转的过程,所有的办公事务都可以抽象成一个数据库表单。传统办公自动化系统和大型 MIS 系统在处理企业管理流程中大多采用企业业务流程重组(BKR) ,其核心思想就是要先优化企业业务管理流程,再根据优化后的流程建设企业信息统。这样不仅在系统建设中工作量巨大,同时面临来自企业内部重重的阻碍。要想实现办公自动化,就需要实施计算机管理,所以,开发了这个办公自动化系统,此系统是基于网络的,部署方便,易于维护。1.2 本文要做的工作本文的最终目标是要描述建立一个办公自动化系统的过程。系统选用 Struts 框架,以 MVC 设计模式作为软件工程方法,并用
5、JAVA 语言实现。本文主要做的工作是描述了此办公自动化系统从分析、设计、到实现的主要工作流程,并在最后阐述系统的使用方法。本系统实现的主要功能模块有:公共模块设计、登录模块设计、主界面设计、日常管理模块、考勤管理模块、计划指定模块、审核管理模块、员工管理模块、通讯管理模块。第 2 章 运用技术及开发工具介绍该办公自动化系统是在 MyEclipse 9.0 的环境下开发的,以 MS SQL Server2005 作为后台数据库,Hibernate 作为系统的业务逻辑层, JSP 页面作为系统的表现层,通过使用 Struts 实现的 MVC 机制,来控制整个办公自动化的业务数据流程。本系统是基于
6、 WEB 的,所以 Internet 必须成为浏览器和服务器之间的通信媒介, UML 架构模型如图 2.1 所示:2012 届苏州经贸职业技术学院毕业论文3图 2.1 架构设计图本系统的具体架构是 MVC 模式,并用 Hibernate 对 JDBC 进行简单封装,具体的物理架构如图 2.2 所示:Browser Client ActionJspActionJspBusines Object Dat Aces Object DatbaseHTP JDBC图 2.2 物理架构图2.1 Struts 技术简介Struts 最早是作为 Apache Jakarta 项目的组成部分问世运作。项目的创立
7、者希望通过对该项目的研究,改进和提高 Java Server Pages、Servlet、标签库以及面向对象的技术水准。Struts 这个名字来源于在建筑和旧式飞机中使用的支持金属架 1。它的目的是为了减少在运用 MVC 设计模型来开发 Web 应用的时间。虽然仍然需要学习和应用该架构,但它将可以完成其中一些繁重的工作。基于 Struts 架构的 OA 系统毕业论文4Struts 跟 Tomcat、Turbine 等诸多 Apache 项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。除此之外,Struts 的优点主要集中体现在两个方面:Taglib 和页面导航。T
8、aglib 是Struts 的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的 JSP 开发者而言,除了使用 JSP 自带的常用标记外,很少开发自己的标记,或许 Struts 是一个很好的起点。2.2 Hibernate 技术的应用Hibernate 是 Java 应用和关系数据库之间的桥梁,通过对 JDBC 的简单封装,使Java 程序员可以使用面向对象的思想操作数据表,不用再考虑数据访问细节,可以专注于业务逻辑的开发,它对软件分层做了进一步细化,使数据的持久化与业务逻辑和数据库分开,便于软件的后期维护。在 Java 应用中使用 Hibernate 包含以下步骤:1、创建 Hiber
9、nate 的配置文件。Hibernate 配置文件主要用于配置数据库连接和 Hibernate 运行时所需要的各种属性,这个配置文件应该位于应用程序或 Web 程序的类文件夹 classes 中。Hibernate 能够访问多种关系数据库,如 MySql、Oracle、Sybase 等。2、创建持久化类持久化类符合 Java Bean 的一般规范,可以作为数据实体的对象化表现形式。通常都是数据表所对应的域模型中的实体域类。在编写持久化类时,主要遵循以下原则:a) 为持久化字段声明访问器和是否可变的标志。持久化类的属性一般都与数据库中相对应表字段一一对应,并包括与之对应的 getXXX() 、s
10、etXXX() 、isXXX ()方法。如果持久化类的属性为 boolean 类型,那么可以使用 get 或 is 作为 get()方法的前缀。b) 实现一个默认的(即无参数的)构造方法。所有的持久化类都必须有一个默认的构造方法(可以不是 public 的) 。这样Hibernate 就可以使用 java.lang.reflect.Constructor.newInstance()来实例持久化类。3、创建对象关系映射文件。Hibernate 采用 XML 格式的文件来指定对象和关系数据之间的映射。在运行时,Hibernate 将根据这个映射文件来生成各种 SQL 语句。在 Hibernate
11、中,映射文件通常用.hbm.xml 作为后缀名,该文件与持久化类存放在同一目录下。在User.hbm.xml 文件的开头声明了 DTD(Document Type Definition) ,它对 XML 文件的语法和格式做了定义。Hibernate 的 XML 解析器将根据 DTD 来核对 XML 文件的语法。4、构建 SessionFactory。Hibernate 的 SessionFactory 接口提供 Session 类的实例,Session 类用于完成对数据库的操作。由于 SessionFactory 实例是线程安全的( 而 Session 实例不是线程安全的) ,所以每个操作都可
12、以共用同一个 SessionFactory 来获取 Session。Hibernate 配置文件分为两种格式 :一种是 XML 格式,一种是 Java 属性文件格2012 届苏州经贸职业技术学院毕业论文5式的配置文件。因此构建 SessionFactory 的也有两种方法,例程 01 是在配置文件为 Hibernate.properties 的情况下构建 SessionFactory 的,如果 Hibernate 的配置文件为 XML 格式,只需在配置文件中声明映射文件,在程序中不必调用 Configuration类的 addClass()方法来加载映射文件,代码如下:SessionFacto
13、ry sf=new Configuration().configure().buildSessionFactory();5、Session 的创建与关闭。Session 是一个轻量型对象,通常将每个 Session 实例和一个数据库事务绑定,也就是每执行一个数据库事务,都应该先创建一个新的 Session 实例。2.3 B/S 模式介绍及应用2.3.1 什么是 B/S 模式浏览器/服务器(B/S)模式又称 B/S 结构。它是一种以 Web 技术为基础的新型的MIS 系统平台模式。把传统 C/S 模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web 服务器 ),从而构成一个三层结
14、构的客户服务器体系 2。第一层客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如 Netscape Navigator,微软公司的 IE 等。浏览器将 HTML 代码转化成图文并茂的网页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。这个后台就是第二层的 Web 服务器。第二层 Web 服务器将启动相应的进程来响应这一请求,并动态生成一串 HTML 代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取,Web 服务器还需与数据库服务器协同完成这一处理工作。第三层数据库服务器的任务类似于 C/S 模
15、式,负责协调不同的 Web 服务器发出的SQL 请求,管理数据库。2.3.2 B/S 模式的优缺点B/S 模式简化了客户端。它无需象 C/S 模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件 3。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。假设一个企业的决策层要开一个讨论库存问题的会议,他们只需从会议室的计算机上直接通过浏览器查询数据,然后显示给大家看就可以了。甚至与会者还可以把笔记本电脑联上会议室的网络插口,自己来查询相关的数据。其次,它简化了系统的开发和维护。系统的开发者无须再为不基于 Struts 架构的 OA 系统毕业论文
16、6同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在 Web 服务器上,并就不同的功能为各个组别的用户设置权限就可以了。各个用户通过 HTTP 请求在权限范围内调用 Web 服务器上不同处理程序,从而完成对数据的查询或修改。现代企业面临着日新月异的竞争环境,对企业内部运作机制的更新与调整也变得逐渐频繁。相对于 C/S,B/S 的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对 Web 服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护
17、将会显得更加重要。再次,它使用户的操作变得更简单。对于 C/S 模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用 B/S 模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。B/S 模式的这种特性,还使 MIS 系统维护的限制因素更少。最后,B/S 特别适用于网上信息发布,使得传统的 MIS 的功能有所扩展。这是 C/S所无法实现的。而这种新增的网上信息发布功能恰是现代企业所需的。这使得企业的大部分书面文件可以被电子文件取代,从而提高了企业的工作效率,使企业行政手续简化,节省人力物力。鉴于 B/S 相对于 C/S 的先进性,B/
18、S 逐渐成为一种流行的 MIS 系统平台。各软件公司纷纷推出自己的 Internet 方案,基于 Web 的财务系统、基于 Web 的 ERP。一些企业已经领先一步开始使用它,并且收到了一定的成效。B/S 模式的新颖与流行,和在某些方面相对于 C/S 的巨大改进,使 B/S 成了 MIS系统平台的首选,但是它也有不成熟的一面,目前基于 B/S 模式的应用软件也很缺乏,其最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。2.4 开发工具的选择2.4.1 MyEclipse 介绍与应用MyEclipse 企业级工作平台( MyEclipse Enterprise Workbench ,简称MyEclipse)是对 EclipseIDE 的扩展,利用它我们可以在数据库和 JavaEE 的开发、发