《2022年办公自动化系统的考勤管理模块的研究与设计开发与实现本科 .pdf》由会员分享,可在线阅读,更多相关《2022年办公自动化系统的考勤管理模块的研究与设计开发与实现本科 .pdf(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本 科 毕 业 论 文(设计)院 系软件学院题 目办公自动化系统的考勤管理模块的设计与实现学生姓名刘瑄学 号 071251092 年 级 2007 级专 业软件工程指导教师职称论文提交日期精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 44 页摘 要随着计算机的普及和计算机技术的飞速发展,越来越多的企业利用计算机解决实际中遇到的问题。伴随着数字商业的到来,企业的管理意识和环境都发生了巨大的变化,企业的管理结构由多层次结构向扁平化管理结构转化;数字时代企业的信息量和沟通数量巨大,为了提高企业的管理效率,必须提升沟通的质量,要求企业办公高效
2、率、自动化,办公自动化系统应运而生。办公自动化系统跨越系统管理、日程管理、考勤管理、消息管理、文档管理等五个领域。SSH 在 J2EE工程中表示了 3 种框架 ,即 Spring + Struts + Hibernate。Struts由于版本差异, Struts1.x 和 Struts2.x 几乎是不同的框架。经过综合考虑,相对于现在的企业来说Struts1.x的技术成熟,便于维护。故本OA 系统使用的SSH版本为 Spring2.5 + Struts1.3 + Hibernate3.3 。总体完成一个完全基于浏览器的操作模式,安装简单(B/S 架构,不必安装或者只要安装很小的插件),操作方便
3、,具有良好的系统扩充能力的办公自动化系统,提供:文档管理平台、消息管理平台、考勤管理平台、日程管理平台、系统管理平台。关键词 :办公自动化系统, OA,SSH,J2EE Abstract With the popularization of computer and the rapid development of computer technology, more and more companies use computers to solve practical problems. With the arrival of the digital business, enterprise
4、management consciousness and the environment are all undergone tremendous changes, enterprises management structure by multi-level structure to flating management structure transformation。Digital era enterprise information and communication a huge number, in order to improve the enterprise managemen
5、t efficiency, must enhance communication quality, high efficiency and automation request enterprise office, office automation system came into being. Office automation system across system management, schedule management, attendance management, news management, document management five fields. 精选学习资
6、料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 44 页SSH said in J2EE project in three framework, namely Spring + Struts + Hibernate.Struts1.x and Struts2.x are almost different framework. After a comprehensive consideration, Struts1.xis relative to the enterprise. NowStruts1.xis easy to maintain for
7、 the mature technology. So the OA system use SSH version for Spring2.5 + Struts1.3 + Hibernate3.3. Overall finish a completely based on the browsers operating mode, installation simple (B/S structure, need not installed or installing small plugin), convenient operation, good system expansion ability
8、 office automation system, provide: document management platform, news management platform, attendance management platform, schedule management platform, system management platform. Keywords:Office Automation System,OA,SSH,J2EE 目 录摘要 I AbstractI 目录 II 第一章概述 /绪论 1 1.1 工程背景 1 1.2 国内外办公自动化现状1 1.3 解决方案比
9、较 3 1.3.1 J2EE和.net3 1.3.2 JSP 、ASP和 PHP3 1.3.3 SSH和 JSP+servlet+JavaBean 5 1.4 论文主要工作 /组织结构 5 第二章 Web开发技术概述 6 2.1 J2EE6 2.1.1 JSP 7 2.1.2 JDBC7 2.1.3 JavaBean 7 2.2 SSH8 2.2.1 Struts 8 2.2.2 Spring10 2.2.3 Hibernate 11 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 44 页2.3 DHTML 12 2.4 EXTJS1
10、2 第三章办公自动化系统工程概述13 3.1 工程目标 13 3.2 一般性需求 13 3.3 功能性需求 14 3.3.1 角色说明 14 3.3.2 整体业务流程描述14 3.4 具体功能点需求 14 3.4.1系统管理子系统14 3.4.2日程管理子系统15 3.4.3考勤管理子系统15 3.4.4消息管理子系统16 3.4.5文档管理子系统16 3.5 整体设计和实现 16 3.5.1 后台控制层和模块层17 3.5.2 前台表示层 17 3.5.3 配置文件 17 3.6 工程环境 18 3.6.1 Tomcat 18 3.6.2 Oracle 18 第四章考勤管理子系统的分析、设计
11、与实现19 4.1考勤管理需求分析19 4.1.1 签到/签退管理 19 4.1.2 考勤历史查询 20 4.1.3 考勤统计 21 4.1.4 工作日管理 22 4.1.5 工作时间管理 23 4.1.6 出差/请假管理 24 4.1.7补签管理子模块25 4.2考勤管理详细设计26 4.2.1 整体类图 26 4.2.2 actionform层 27 4.2.3 action层 27 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 44 页4.2.4 filter 层 27 4.2.5 service层 28 4.2.6 dao层
12、28 4.2.7 database 层 29 4.2.8 各模块时序图 29 4.2.9 数据库设计 29 4.3考勤管理运行界面31 4.4 Web开发技术在考勤管理中的应用33 4.4.1 J2EE的应用 33 4.4.2 SSH的应用 34 4.4.3 DHTML 的应用 37 4.4.4 EXTJS的应用 37 第五章总结与展望38 参考文献 38 致谢 39精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 44 页第一章 概述 /绪论1.1 工程背景办公自动化( Office Automation, 简称 OA)是将现代化办公和
13、计算机网络功能结合起来的一种新型的办公方式,是当前新技术革命中一个技术应用领域,属于信息化社会的产物。随着计算机的普及和计算机技术的飞速发展,越来越多的企业利用计算机解决实际中遇到的问题。伴随着数字商业的到来,企业的管理意识和环境都发生了巨大的变化,企业的管理结构由多层次结构向扁平化管理结构转化;数字时代企业的信息量和沟通数量巨大,为了提高企业的管理效率,必须提升沟通的质量,要求企业办公高效率、自动化,办公自动化系统应运而生。办公自动化系统跨越系统管理、日程管理、考勤管理、消息管理、文档管理等五个领域。随着管理水平的提高, Internet 技术的出现,单单实现文档管理和流转已经不能满足要求,
14、 OA 的重心开始由文档的处理转入了数据的分析,即所说的决策系统,这时出现了以信息交换平台和数据库结合作为后台,数据处理及分析程序作为中间层,浏览器作为前台(三层次结构)的OA 模式,这种模式下,可以将 OA 系统纳入由业务处理系统等系统构成的单位整体系统内,可以通过OA 系统看到、分析、得到更全面的信息。基于B/S 结构的办公自动化系统,适用于施工企业的办公自动化,它涵盖日常办公管理的基本流,具有较强的通用性。1 1.2 国内外办公自动化现状办公自动化建设的本质是提高决策效能为目的的。通过实现办公自动化,或者说实现数字化办公,可以优化现有的管理组织结构,调整管理体制。在提高效率的基础上,增加
15、协同办公能力,强化决策的一致性,最后实现提高决策效能的目的。办公自动化建设与现阶段政府上网工程之间的关系。政府上网工程一直是近一两年业界炒作和关注的热点之一,政府上网工程是由于互连网的普及,政府部门把一些政务信息发布到Intemet 上,进而在网上建立与老百姓沟通的渠道,以实现政务公开和政府行为接受监督的目的。从实际效果来看,很多政府精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 44 页部门只是在网上存放一些静态的政府信息,实质性的工作却非常少。并且,在很多情况下,很多人将办公自动化和政府上网混为一谈。这种现象导致很多部门重上网工程轻
16、办公自动化工程。甚至把上网工程误认为是办公自动化工程。实际上,从网络划分的角度,政府上网工程是外网建设,办公自动化工程是内网建设,办公自动化工程是政府信息化的基础,政府上网工程是政府信息化的对外表现形式,办公自动化工程在政府信息化建设中所占的比重远高于政府上网工程。只有办公自动化工程的建设并运转成功,政府上网才会有源源不断的信息发布,政府上网才有意义,否则政府上网工程就会变成无源之水。当然,政府上网工程的宣传对我国信息化建设也起了一定的推动作用。办公自动化应该是尽快向数字化办公发展。所谓数字化办公即几乎所有的办公业务都在网络环境下实现。从技术发展角度来看,特别是互连网技术的发展,安全技术的发展
17、和软件理论的发展,实现数字化办公是可能的。从管理体制和工作习惯的角度来看,。全面的数字化办公还有一段距离。首先数字化办公必然冲击现有的管理体制,使现有管理体制发生变革,而管理体制的变革意味着权利和利益的重新分配;另外管理人员原有的工作习惯、工作方式和法律体系有很强的惯性,短时间内改变尚需时日。尽管如此,全面实现数字化办公是办公自动化发展的必然趋势。实现数字化办公既不同于传统的OA,也不同于MIS 的建设,它的结构是Intranet 网的结构,它的构建思路是自上而下的,即首先把整个内部网看成是一个整体,这个整体的对象是网上所有用户,它必需有一个基础,我们称这个基础为内网平台;就好象PC 必需有一
18、个操作系统为基础一样。内网平台负责所有用户对象的管理、负责所有网络资源(含网络应用 )的管理、网络资源的分层授权、网络资源的开放标准和提供常用的网络服务(如邮件、论坛、导航、检索和公告等 )。在平台的基础之上,插接各种业务应用(可理解为传统的MIS),这些应用都是网络资源。用户通过统一的浏览器界面入网,网络根据用户的权限提供相应的信息、功能和服务,使用户在网络环境下办公;办公自动化于50 年代在美国和日本首先兴起,最初只是具有电子数据处理(EDP)的簿记功能, 60 年代被管理信息系统 (MIS) 取代,直到70 年代后期才形成涉及多种技术的新型综合学科一办公自动化(OA)。80 年代,国外办
19、公自动化得到了飞速发展,许多著名的计算机软硬件公司都跻身于这一巨大的市场。进入 90 年代以来,办公自动化在世界主要发达国家得到蓬勃发展。我国办公自动化是 80 年代中期才发展起来的。1985 年全国召开了第一次办公自动化规划会议,对我国办公自动化建设进行了规划。1986 年 5 月在国务院电子振兴领导小组办公自动化专家组第一次专家会议上,定义了办公自动化系统功能层次和结精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 44 页构模式。随后国务院率先开发了” 中南海办公自动化系统 ” 。我国 OA 的应用和发展历程,可以分为以下三个阶段:
20、(1)第一代 OA 系统,是从 20 世纪 80 年代中期到90 年代中期以个人电脑、办公套件为主要标志,实现了数据统计和文档写作电子化,即将办公信息载体从原始纸介质方式转向比特方式。( 2)第二代 OA 系统,是从 90 年代中期开始的以网络技术和协同工作技术为主要特征,实现了工作流程自动化,即将收发文从传统的手工方式转向工作流自动化方式。(3)第三代 OA 系统,是融信息处理、业务流程和知识管理于一体的应用系统。2 1.3 解决方案比较1.3.1 J2EE 和.net 目前国内外 Web开发的主流架构有J2EE和.net,经过综合考虑,本 OA 系统采用 J2EE体系架构,利用J2EE 体
21、系架构的优势,实现了业务数据和业务逻辑的分离。J2EE 是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE是一种利用 Java 2 平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。 J2EE 技术的基础就是核心Java平台或 Java 2 平台的标准版, J2EE 不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBC API、CORBA 技术以及能够在Internet 应用中保护数据的安全模式等等,同时还提供了对EJB(Enterprise JavaBeans
22、)、Java Servlets API、JSP (Java Server Pages )以及 XML 技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。3 .NET 是 Microsoft XML Web services 平台。 XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。 Microsoft .NET 平台提供创建XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。4 1.3.2 JSP、ASP 和 PHP 目前
23、国内外的动态网页技术主要有JSP 、ASP和 PHP,由于本 OA 系统是基于 J2EE体系架构,故使用JSP技术。JSP(Java Server Pages) 是由 Sun Microsystems 公司倡导、许多公司参与一起精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 44 页建立的一种动态网页技术标准。JSP技术有点类似ASP 技术,它是在传统的网页 HTML 文件 (*.htm,*.html) 中插入 Java程序段 (Scriptlet)和 JSP标记(tag),从而形成 JSP文件(*.jsp)。 用 JSP开发的 Web
24、 应用是跨平台的,既能在Linux 下运行,也能在其他操作系统上运行。JSP特性:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。(2)强大的可伸缩性。从只有一个小的Jar 文件就可以运行Servlet/JSP ,到由多台服务器进行集群和负载均衡,到多台Application 进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。(3)多样化和功能强大的开发工具支持。这一点与ASP 很像, Java 已经有了许多
25、非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。(4)支持服务器端组件。 web 应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web 页面调用,以增强系统性能。 JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。5 ASP 是 Active Server Page的缩写,意为 “ 动态服务器页面 ” 。ASP 是微软公司开发的代替CGI 脚本程序的一种应用 ,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP 的网页文件的格式是.asp,现在常用于各种动态网站中。 ASP 是一种服务
26、器端脚本编写环境,可以用来创建和运行动态网页或 Web应用程序。 ASP网页可以包含 HTML 标记、普通文本、脚本命令以及 COM 组建等。利用ASP 可以向网页中添加交互式内容(如在线表单),也可以创建使用 HTML 网页作为用户界面的web应用程序。 6 PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。 PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML 文档的脚本语言。PHP 独特的语法混合了C、Java 、Perl 以及 PHP 自创新的语法。它可以比CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他
27、的变成语言相比, PHP 是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML 标记的 CGI 要高许多; PHP 还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP 具有非常强大的功能,所有的CGI 的功能 PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。7 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 44 页1.3.3 SSH 和 JSP+servlet+JavaBean J2EE 体系架构中可以用SSH 框架,也可以用JSP+servlet+JavaBean 框架,本 OA 系统采
28、用了 SSH框架。 SSH 在 J2EE工程中表示了 3 种框架 ,即 Spring + Struts + Hibernate 。Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。 Spring 使用基本的 JavaBean来完成以前只可能由EJB 完成的事情。然而, Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从 Spring 中受益。Struts 框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC 的 web 应用程序的开发。 Struts 可以清晰地区分控制,事务
29、逻辑和外观,从而简化了开发应用程序的过程。Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC 的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP 的 Web 应用中使用,最具革命意义的是,Hibernate可以在应用 EJB 的 J2EE架构中取代 CMP,完成数据持久化的重任。8 JSP+servlet+JavaBean 框架适合小规模工程的开发,而SSH 适合企业工程的开发, SSH相对于 JSP+servlet
30、+JavaBean 更加规范化。1.4 论文主要工作 /组织结构论文总体是对本人完成办公自动化系统工程的一些总结。第一章,主要描述了本人为何选择办公自动化工程,同时介绍了它的背景以及办公自动化在国内外的现状和发展,还有完成该工程的需要采用的技术的比较。第二章,主要描述了完成办公自动化的一些必要的技术介绍,以便读者能够更好的理解后面的内容。第三章,主要描述了整个工程的需求,功能,设计和环境等。第四章,主要描述了本人完成子系统的技术运用,以及一些分析、设计和实现。第五章,主要描述了对该工程的总结以及对它的发展期望。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - -
31、- -第 10 页,共 44 页第二章 Web 开发技术概述2.1 J2EE J2EE的简介已经在 1.3.1中描述过了,下面来具体介绍J2EE的四层模型与核心组件。J2EE 使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。图 2.1 J2EE 四层模型图如图 2.1 所示, J2EE分别有四层:( 1)运行在客户端机器上的客户层,应用客户端程序和applets是客户层组件;( 2)运行在 J2EE服务器上的 Web层,Java Servlet 和 JavaServer Pages(JSP) 是 Web层组件;( 3)运行在 J2EE服务器上
32、的业务逻辑层, Enterprise JavaBeans(EJB) 是业务层组件;( 4)运行在 EIS服务器上的企业信息系统 (Enterprise information system) 层。3 下面将会具体介绍本OA 系统用到的J2EE 中的 4 种技术: JSP、JDBC、JavaBean (代替 EJB)和 Java Servlets(由于 Struts1.x是基于 servlet技术,故该技术不做具体描述)。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 44 页2.1.1 JSP JSP的简介已经在1.3.2中描述过了,
33、下面来具体介绍JSP的指令、动作、隐式对象等。JSP的指令包括: page指令、 include指令、 taglib 指令。JSP 的 动 作 包 括 : 、 、 、 、,、 JSP的隐式对象如表2.1所示。request 客户端请求,此请求会包含来自GET/POST 请求的参数response 网页传回客户端的响应pageContext 网页的属性是在这里管理session 与请求有关的会话application 正在执行的内容out 用来传送响应的输出流config 代码片段配置对象page 代码片段配置对象exception 针对错误网页,未捕捉的例外表 2.1 JSP隐式对象表2.1.
34、2 JDBC JDBC(Java Data Base Connectivity,java 数据库连接)是一种用于执行SQL语句的 Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC 为工具 /数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯Java API 编写数据库应用程序。在本OA 系统中,并没有实现用JDBC 直接连接数据库,而是通过Hibernate操作数据库( Hibernate底层是对 JDBC 的封装)。 9 2.1.3 JavaBean JavaBean 是一种 JAVA 语言写成
35、的可重用组件。为写成JavaBean ,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 44 页用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java 代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP 页面、Servlet、其他JavaBean 、applet 程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。J
36、avaBean 可 分 为 两 种 : 一 种 是 有 用 户 界 面 ( UI , User Interface) 的JavaBean ;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的 JavaBean 。JSP通常访问的是后一种JavaBean 。10 2.2 SSH SSH 在 J2EE工程中表示了 3 种框架 ,即 Spring + Struts + Hibernate。Struts由于版本差异, Struts1.x 和 Struts2.x 几乎是不同的框架。经过综合考虑,相对于现在的企业来说Struts1.x的技术成熟,便于维护。故本OA 系统使用的SSH版本为
37、 Spring2.5 + Struts1.3 + Hibernate3.3 。下面将会具体介绍这三个框架。2.2.1 Struts Struts 的简介已经在1.3.3 中描述过了,下面来具体介绍Struts1.x 的构成、组件、运行流程等。Struts1.x 框架主要由两个相对独立的组成部分构成:(1)Struts API;(2)Struts 框架表示层中的各种标签库(Html、Bean、 Logic、Tiles 等标签库)。如图 2.2 所示, Struts1.x 对 Model,View 和 Controller 都提供了对应的组件。ActionServlet,这个类是Struts 的核
38、心控制器,负责拦截来自用户的请求。Action ,这个类通常由用户提供,该控制器负责接收来自ActionServlet 的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。(1)Model 部分:由JavaBean组成, ActionForm 用于封装用户的请求参数,封装成 ActionForm 对象,该对象被ActionServlet 转发给 Action,Action 根据 ActionFrom 里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。(2)View 部分:该部分采用JSP实现。Struts 提供了丰富的标签
39、库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model 的有效交互,并增加了现实功能。对应JSP部分。(3)Controller 部分: Controller 组件有两个部分组成 系统核心控制精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 44 页器,业务逻辑控制器。系统核心控制器,对应ActionServlet。该控制器由Struts框架提供,继承HttpServlet 类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP 请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用
40、户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action 部分。 12 图 2.2 Struts各层组件图Struts接受到一个客户请求时,将执行如下流程:(1)检索和用户请求匹配的ActionMapping 实例,如果不存在,就返回用户请求路径无效信息。(2)如果 ActionForm 实例不存在,就创建一个ActionForm 对象,把客户提交的表单数据保存到ActionForm 对象中。( 3)根 据 配 置 信息 决 定 是 否 需 要 表 验 证 。 如 果 需要 验 证 , 就 调 用ActionForm 的 validate()方法。( 4) 如 果 Actio
41、nForm 的 validate()方 法返 回 null 或 返 回 一 个 不 包 含ActionMessage的 ActionErrors 对象,就表示表单验证成功。(5)ActionServlet 根据 ActionMapping 实例包含的映射信息决定将请求转发给那个 Action。如果响应的Action 实例不存在,就先创建这个实例,然后调用 Action 的 execute()方法。(6)Action 的 execute ()方法返回一个ActionForward 对象, ActionServlet再把客户请求转发个ActionForward 对象指向的 jsp组件。(7)Act
42、ionForward 对象指向的 jsp 组件生成动态网页,返回给客户。11 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 44 页2.2.2 Spring Spring 的简介已经在1.3.3 中描述过了,下面来具体介绍Spring 的其他特性和模块组成。Spring特性:(1)轻量:从大小与开销两方面而言Spring 都是轻量的。完整的Spring框架可以在一个大小只有1MB 多的 JAR 文件里发布。并且Spring 所需的处理开销也是微不足道的。此外,Spring 是非侵入式的:典型地,Spring 应用中的对象不依赖于 S
43、pring 的特定类。(2)控制反转: Spring 通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC 与 JNDI 相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。(3)面向切面: Spring 提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务( transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的 完成业务逻辑 仅此而已。它们并不负责(甚至是意识)其它的系
44、统级关注点,例如日志或事务支持。(4)容器: Spring 包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建 基于一个可配置原型(prototype),你的 bean 可以创建一个单独的实例或者每次需要时都生成一个新的实例 以及它们是如何相互关联的。然而,Spring 不应该被混同于传统的重量级的 EJB 容器,它们经常是庞大与笨重的,难以使用。(5)框架: Spring 可以将简单的组件配置、组合成为复杂的应用。在Spring 中,应用对象被声明式地组合,典型地是在一个XML 文件里。 Spring 也提供了很多基础功能(事务管理、持久化框架
45、集成等等),将应用逻辑的开发留给了你。 13 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 44 页图 2.3 Spring 模块图Spring每个模块功能如图2.3所示。2.2.3 Hibernate Hibernate 的简介已经在1.3.3 中描述过了,下面来具体介绍Hibernate 的核心接口。如图2.4 所示, Hibernate 的核心接口一共有5 个,分别为:Session、SessionFactory 、Transaction 、Query 和 Configuration。这 5 个核心接口在任何开发中都会用到。通
46、过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍:(1)Session 接口: Session 接口负责执行被持久化对象的CRUD 操作(CRUD 的任务是完成与数据库的交流,包含了很多常见的SQL 语句。 )。但需要注意的是Session对象是非线程安全的。同时,Hibernate 的 session 不同于JSP 应用中的HttpSession。这里当使用session 这个术语时,其实指的是Hibernate中的 session ,而以后会将 HttpSesion对象称为用户 session 。(2)SessionFactory接口: Ses
47、sionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是 SessionFactory并不是轻量级的,因为一般情况下,一个工程通常只需要一个 SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个 SessionFactory 。(3)Configuration 接口: Configuration 接口负责配置并启动Hibernate,创精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 44 页建 SessionFactor
48、y对象。在 Hibernate 的启动的过程中, Configuration 类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。(4)Transaction 接口: Transaction 接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。(5)Query 和 Criteria 接口: Query 和 Criteria 接口负责执行各种数据库查询。它可以使用 HQL 语言或 SQL 语句两种表达方式。 14 图 2.4 Hibernate 图2.3 DHTML DHTML 是 Dynamic HTML 的简称,就是动态的html,
49、是相对传统的静态的 html 而言的一种制作网页的概念。所谓动态HTML(Dynamic HTML ,简称DHTML) ,其实并不是一门新的语言,它只是HTML 、CSS 和客户端脚本的一种集成,即一个页面中包括html+css+javascript(或其它客户端脚本 )。DHTML建 立 在 原 有 技 术 的 基 础 上 , 可 分 为 三 个 方 面 : ( 1 )HTML(XHTML),也就是页面中的各种页面元素对象,它们是被动态操纵的内容;( 2)CSS,CSS 属性也是动态操纵的内容,从而获得动态的格式效果;(3)客户端脚本 (例如 JavaScript) ,它实际操纵 Web页上
50、的 HTML 和 CSS。15 2.4 EXTJS ExtJS 是一种主要用于创建前端用户界面,是一个与后台技术无关的前端精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 44 页ajax框架。ExtJS 可以用来开发RIA 也即富客户端的AJAX 应用,是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax 框架。因此,可以把ExtJS 用在.Net、Java、Php 等各种开发语言开发的应用中。ExtJs最开始基于 YUI 技术,由开发人员JackSlocum开发,通过参考JavaSwing等