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