ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:725.85KB ,
资源ID:9728332      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9728332.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(系统设计方案和实现河北师范大学.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

系统设计方案和实现河北师范大学.docx

1、系统设计方案和实现河北师范大学本科生毕业论文设计题目 基于J2EE的办公自动化系统的设计和实现 作者姓名梁朋指导教师解建军所在学院数学与信息科学学院专业系)计算机科学与技术班级是将现代化办公和计算机网络功能结合起来的一种新型的办公方式,是当前新技术革命中一个非常活跃和具有很强生命力的技术应用领域,是信息化社会的产物。通过网络,组织机构内部的人员可跨越时间、空间协同工作。通过OA系统所实施的交换式网络应用,使信息的传递更加快捷和方便,从而极大地扩展了办公手段,实现了办公的高效率。现在所说的办公自动化,应该是以网络为依托,在企业内部进行畅通的信息交流。在这种模式下,企业成为一个大办公室,它所属的财

2、务、人事、行政、业务等部门都成为企业信息流中的一个环节,而不再是单个的信息孤岛。依靠这种模式,企业的组织结构能够得到简化,各个部门在信息共享的基础上进行协作,便于明确各个部门甚至每个员工的责任,而决策层可以迅速综合来自各个方而的信息,并此为依据制定企业的战略决策。没有人怀疑计算机的出现给办公室职员带来的便利,但是对现代的办公自动化而言,其目的已经不局限于减轻员工的工作量,而是要将员工从繁琐的事务性工作中解放出来,用更多的精力去关注最重要的事情,从而提高企业的效率,增强企业的综合竞争能力。随着计算机网络技术的发展及企业管理模式的不断变化,目前,以传统客户/服务器模型设计的办公自动化系统已不能很好

3、满足网络办公的需求,难以充公整合新技术的特点,进而无法充分发挥新管理模式的优势,并且要针对不同的运行环境及操作系统开发不同版本的客户端,大大增加了系统的开发难度和更新周期。本文从企业的实际情况出发,在用户需求分析的基础上,提出企业办公自动化系统的基本目标,并阐述系统结构设计和功能设计,设计了一种基于WEB的网络办公自动化系统,系统建立在Browser/Servr/Database三层构架之上,并且本系统采用MVC的Hibernate框架等J2EE的主流框架,并对本系统进行了国际化,从而大大增加了系统的灵活性和可扩展性。并且本系统采用Mysql数据库,从而降低了对运行环境配置的要求。关键字:Hi

4、bernate,Struts,O/R,MVC,OA,JSP第一章绪论1.1 OA概述在当今计算机网络技术和计算机技术飞速发展,人们普遍使用计算机来提高个人工作效率,但是在需要许多人一起协同工作的现代工作环境中,我们更需要提高我们的整体工作效率。利用网络通讯基础及先进的网络应用平台,建设一个安全、可靠、开放、高效的办公系统。传统办公模式主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。如何实现信息处理的自动化和办公的无纸化逐步得到了人们的重视。办公自动化提了多年,但效果并不明显,人们还是仪在单机字处理和表格处理的所谓办公自动化的初级阶段,信息的交流和

5、共享,以及团队的协同工作无法很好的实现,极大地限制了工作的效率,Internet/Intranet的迅猛发展,为信息的交流和共享,团队的协同运作提供了技术的保证,同时也预示着网络化办公时代的来临。1.2 技术背景随着Internet技术的飞速发展,基于B/S结构的服务应用程序得到了广泛的应用,实现Web应用的技术和框架也层出不穷,当今软件开发出现了两大应用技术标准:微软的.NET和SUN公司提出的J2EE,这两种技术各有其优缺点,J2EE的安全性及可移植性优于.NET,但是J2EE的企业级应用需要专门的Container,及Server,需要花费大量的资金在软件的运行和维护上。但是随着J2EE

6、技术的不断成熟,并且大量开源框架的出现,J2EE的优势日渐突出,且J2EE采用可跨平台运行的Java语言作为其主要开发语言,能够在不同的平台上运行,因此越来越受到企业的欢迎。1.3 课题研究的意义及可行性本文通过整合一些开源的J2EE框架来搭建一个开发平台,使系统的开发成本降到了最低,结合Struts框架和Hibernate的数据持久化机制来构建一个轻量级的Web开发框架,并利用此框架来开发一个基于B/S的办公自动化系统,以此来说明Struts和Hibernate的整合过程。选择这种开发框架的优点有以下几个:1.快速开发。Struts是一个成熟的Web层框架,称为A Half DoneAppl

7、ication,开发者只需要在需要的地方加入自己的处理逻辑,并且许多参数的设置是在配置文件中,需要修改时开发者只需要修改配置文件即可,而不需要去修改代码的每个地方,这种开发框架已经广泛应用在许多行业的系统中,如交通,电力,银行,通信等。2.Hibernate的数据持久化。Hibernate是一个基于O-RObject-Relation)的框架,真正的适用于面向对象的开发思想。开发着只需要对对应的Class进行操作就可以方便的实现对数据库的操作。并且Hibernate框架中实现了许多对数据库中数据的操作方法,方便了Developer的开发。相对于使用JDBC开发更方便,快捷。3.成本低。Stru

8、ts,Hibernate,以及所使用的开发环境及运行环境采用的都是开源软件,大降低了开发和运行的成本,更适合中小企业的开发。3可扩展性。Struts和Hibernate的使用降低的工程各个模块之间的耦合度,因此企业很容易对工程的某个模块进行扩展或者进行二次开发。由于此框架容易与其他的J2EE框架整合,更是大大提高了系统的可扩展性。第二章 Struts介绍Struts是一种实现了MVC模式的框架,全部的请求都由一个被称为ActionServlet的Servlet来接收并控制。Struts并没有取代Jsp,Servlet,只是将其组织起来。2.1 MVC模式简介MVC是一种设计模式,是Model-

9、View-Controller的简写,它把整个应用系统的输入、处理、输出分开,其结构图如图2-1:图2-12.1.1 模型模型是应用程序的核心,负责处理用户的数据和实现业务逻辑的处理,并且为视图提供数据,用户所有的数据操作和业务逻辑的处理全部都由模型层处理。2.1.2 视图视图是一些JSP页面,是系统与用户交互的界面,即常称的UIUser interface),视图用户来接收用户的输入,在MVC模式中,视图层不包括任何业务逻辑的处理,它只是为Model提供数据及为用户显示Model层更新的数据。2.1.3 控制层控制层也称为控制器,当用户提交请求时,控制器接收用户的请求并根据用户提交的数据决定

10、调用哪些模型来进行业务处理,同时将用户提交的数据提供给Model层,由Model来进行数据处理,然后将处理的结果给视图的形式返回给用户,从而实现用户和系统的交互。2.2 Struts框架的结构及实现方法Struts是Apache软件组织提供的一个开源工程,为Java Web应用提供MVC框架,适用于开发大型可扩展的Web应用。在MVC刚刚出现的时候,开发人员需要花大量的时间在MVC模式的实现上,而Struts则恰恰实现了这种开发模式,开发人员只需在此基础去实现自己的逻辑处理,而不耍花费大量的时间在模式的实现上。2.2.1Struts框架的组成Struts对应MVC的三层分别有对应的实现方法:S

11、truts中的Java Bean以及大型工程中的EJB对应MVC中的Model层,MVC的Controller层对应Struts的Action及ActionServlet,Struts的ActionForm以及JSP页面对应MVC的视图层,在视图层Struts提供了大量的标签库用来显示数据,Struts的各个组成部分全部由Struts的主配置文件Struts-config.xml联系在一起。2.2.1 Struts的基本组件Struts主要由四个核心组件组成:ActionServlet,Action,FormBean,ActionMapping,另外Struts还提供了功能强大的标签库Tagl

12、ib),用来供客户端显示用。1)ActionServletActionServlet是Javax.servlet.http.HttpServlet的子类,是Struts框架的主控制器,根据用户的请求和配置文件和描述将请求转发给相应的Action,Servlet必须在Http Application的Web.xml的配置文件中声明,因此在Struts中同样也在Web.xml中对ActionServlet进行了配置: action org.apache.struts.action.ActionServlet config /WEB-INF/struts-config.xml debug 3 det

13、ail 3 0 action *.do ActionServlet会匹配所有的以.do结尾的请求,并读取配置文件里配置的Config对应的Struts的配置文件中的Action,从而将请求转交给对应的Action调用相应的业务处理方法进行处理。2)Action当ActionServlet得到用户的请求后,将请求转发给Action,然后由Action调用相应的业务逻辑处理方法进行处理。3)ActionMapping当Action进行业务处理后会返回一个ActionMapping的对象,该对象包含了Action的请求对象,决定Web Container该返回个对象给用户。4)ActionForm当

14、ActionServlet接收到用户的请求时,会根据struts-config.xml描述将数据封装到相应的ActionForm中,然后由Action根据struts-config.xml的描述读取相应的ActionForm中的数据,进行处理,将处理后的结果返回给用户。5)标签库Struts提供了功能强大的标签库,只有充分使用这些标签才能最大限度发挥Struts的作用,真正实现MVC模式。有了这些标签库开发人员无需在JSP页面添加任何的Java脚本就可以实现非常复杂的逻辑处理,从而实现了开发人员的美工人员的工作的分离。减少了美工人员的难度。2.2.2Struts的工作过程图2-2Struts的

15、工作过程如图2-2,当用户向Web Server发出请求时,Web Server将请求转交给ActionServlet,由Servlet决定调用哪些Action,然后根据Struts-config.xml的配置对应相应的Form来读取数据,并调用相应的业务逻辑处理方法进行处理,然后将处理后的结果传递到JSP提供给用户。2.3 Struts的国际化在过去,软件开发者在开发应用程序时,将注意力集中于实现具体的业务逻辑。软件面向的用户群是固定的,软件只需要支持一种语言,但是随着跨国业务的迅猛发展,需要同一软件能同时支持多种语言。对于一个已经开发好的软件如果要支持新的语言就要对软件进行国际化。国际化指

16、的是在软件设计阶段就应该使软件具有支持多种语言和地区的功能。这样,当需要在应用中添加对一种新的语言和国家的支持时,不需要对已有的软件进行重新编码。一个应用程序支持国际化应该具备以下特征:1)当应用程序需要支持一种新的语言时无需修改源码。2)应用程序中的文本及图片资源从代码中分离出来,存储在外部。3)根据用户的语言和地理位置进行正确的格式化。4)可以方便快捷地对应用做出调整,使它适应新的语言和地区。Struts对国际化的支持体现在能够输出和用户Locale相符合的文本和图片上。当Struts配置文件的元素的Local属性为True时,Struts框架把用户的Locale实例保存在Session范

17、围内,宁产,Struts框架能自动根据这一Locale实例来从Resource Bundle中选择合适的资源文件,当用户的Locale为英文时,Struts框架就会向用户返回来自于Application_en.properties文件的文本内容,当用户的Locale为中文时,Struts框架就会向用户返回来自于Application_ch_properties文件的文本内容。第三章 Hibernate框架介绍Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲地使用面向对象编程思维来操纵数据库,Hibernate可以应用在

18、任何使用JDBC的场合,既可以在Java的客户端程序中使用,也可以在Servlet/JSP的Web应用中使用。Hibernate的作用就是介于Java与JDBC之间的一个持久层,它通过建立与数据库表之间的映射来操纵数据库,Hibernate是基于JDBC之上的。3.1 数据库操作的3个阶段1)JDBC操作阶段在使用Java进行数据库开发的最初数据库开发的最初阶段,都是使用JDBC类来操作数据库的:String sql = “select * from user where username=”+username+” and password=”+password+”。Try Class.for

19、Name(“com.mysql.jdbc.Driver”.newInstance(。Connection conn = DriverManager.getConnection(“jdbc:mysql:/localhost:3306/OA”,”root”,”root”。Statement stmt = conn.createStatement(。ResultSet rs = stmt.executeQuery(sql。While(rs.next(System.out.println(rs.getString(1。catch(Exception e e.printStackTrace(。final

20、lyRs.close(。Stmt.close(。Conn.close(。这一段操作代码很具有代表性,几乎所有的使用JDBC进行数据库操作的代码都需要开发如下过程的代码:定义查询或更新的SQL语句;加载数据库驱动程序;创建数据库连接;创建申明对象;执行查询或更新;关闭结果集对象,申明对象,数据连接对象。使用这种方法的缺点是:代码重用度小,数据库处理的代码过多,不能突出业务处理逻辑。2)封装JDBC的阶段为了改进JDBC操作的不足,我们可以将JDBC的不同操作封装成不同的函数。Public Boolean createConn(:加载驱动程序,创建连接对象Public Boolean update

21、(String sql:执行更新操作Public void query(String sql:执行查询操作Public void closers(:关闭结果集对象Public void closeStm(:关闭申明对象Public void closeConn(:关闭连接对象这样我们就可以直接调用这些函数来创建数据连接,这样就避免了以上不足,实现了对JDBC封装,并能够对JDBC事务进行管理。并且在这个基础上,可以通过配置连接池来减少对数据库操作的时间。3)ORM阶段在对JDBC进行封装之后,能够方便地实现数据库的操作,但是,在面向对象的编程开发中,数据库的操作与普通的面向对象的Java代码不

22、同,而ORM则是减少了这种区别。真正实现了数据库操作的对象化。3.2 ORM对象关系映射ORM是Object Relational Mapping的简称,即对象关系映射,它是一种为了解决面向对象与关系数据库存在的不匹配的技术,ORM是通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据库中,实际上就是将Java中的Class与数据库中的Table对应起来。关系图如图3-1:图3-1图中依次包含了数据实体的3种不同表示形式,即数据实体,数据表,映射对象。用户实体是数据库概念设计阶段的产物,表示在系统设计的最初阶段所抽象的基本数据对象,每一个数据实体都包含一些信息段

23、。将数据实体映射为数据表,信息映射为数据表的字段,就形成了数据库中的可表示的对象数据表。数据表由表名和字段表示基本的信息。映射对象是普通的Java类,它用Java类来代表数据实体,类名与表名对应,属性名与表的字段对应,ORM就是数据表与映射对象之间的映射关系。3.3 Hibernate介绍及工作过程3.3.1Hibernate的组成Hibernate是一个实现了ORM映射的开发框架,主要实现数据库表与Class的映射。主要组成部分有:对应每个数据库表有一个对应的hbm.xml文件和持久化类以及对数据库进行操作的DAO类,Hibernate有一个Hibernate.cfg.xml文件,用来描述数

24、据库的连接信息以及关联这些hbm.xml配置文件,在Hibernate中利用一个Factory辅助类来获得与数据库之间的会话和面向用户的Servers层。1 Hibernate配置文件Hibernate的数据库连接信息是从配置文件中加载的,这要增加了Hibernate和数据库连接信息的灵活性,在配置文件中包含了一系列属性的配置,Hibernate将根据这些属性来连接数据库。Hibernate的配置文件有两种形式:一种是XML格式的文件,一种是Properties属性文件。2)映射文件.hbm.xmlHibernate映射文件包含了对象/关系映射O/R Mapping)所需的元数据。元数据包含持

25、久化类的声明和属性到数据库的映射指向字段和其他实体的外键关联)。映射文件是XML格式的文件,它负责持久化类与数据库表之间的映射。其根元素是Hibernate-mapping,并通过属性Package指定类所在的包。每一个表使用一个Class定义,Name表示类的名称,Table表示关联的表名,通过Property子元素来映射类的变量名与数据库表字段名之间的映射。3)持久化类持久化类是指其实例需要被Hibernate持久化到数据库中的类。持久化类通常都是域模型中的实体或类,一般都是一张数据库表对应一个持久化类。但并不是所有的持久化类的实例都是持久化状态。Hibernate使用简单的Java对象.

26、configure(.buildSessionFactory(。通过对Configure(的调用来装载Hibernate.cfg.xml配置文件,并初始化成一个Configuration实例,然后通过这个实例来获得Session的一个生成器。通过Session我们就可以进行和数据库之间的会话。5)DAO类:DAO类存在于Project的DAO层,就是数据访问接口,为了基于Hibernate的开发中,通常将业务层与数据层分开,DAO层只负责调用Hibernate API实现对数据库的操作,Servers层面向用户负责调用DAO层的代码,这样数据层的代码不用关心业务服务,可以更好的实现移植。6)Servers层:Servers层即服务层,就是面向用户服务,它定义的方法都是与实际的业务相关的,通过调用DAO层的方法来实现与数据库的交互。3.3.2Hibernate的工作过程当需要与数据库进行的交互时,用户将需要处理的数据封装到数据持久化类,但这是这个类并没有被持久化,通过Hibernate的Transction接口开启事务处理过程,将含有数据的类持久化,即与数据库中的数据建立映射关系,然后通过Transction的Commit方法将持久化类中的数据与数据库中的数据进行同步,然后关闭会话Session,此时,实例化对象的状态由持久转变为脱管,Hibern

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1