




免费预览已结束,剩余41页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
厦门大学软件学院毕业论文 本科毕业论文(科研训练、毕业设计)题 目:货运险电子商务系统 -网上投保和查询管理模块姓 名:学 院:软件学院系:软件工程专 业:软件工程年 级: 学 号:指导教师(校内): 职称: 指导教师(校外): 职称: 年 月- 45 -货运险电子商务系统 -网上投保和查询管理模块摘 要 随着计算机技术的发展,网络已成为人们生活中不可缺少的部分,社会中的各个方面都多多少少地和网络产生了联系。而网络上信息的浏览是通过 Web 实现的,所以 Web 应用的开发工作显得尤其重要。以前,Web 的开发为了实现本身应有的功能往往把代码插入到 HTML 页面,这种做法导致了许多的不便,如:Web 的流程逻辑变得复杂,修改某个业务逻辑或数据可能要浏览多个页面和调试系统变得困难等等。这些不便带来了 Web 开发和维护的低效率。MVC 指业务逻辑、视图和控制器,它可以把系统的功能划分成许多小的组件,使系统整体变得有条理性,提高系统模块的可重用性和灵活性。把 MVC 应用到Web 应用的开发中,可以实现功能代码和 HTML 页面的相剥离,尽管在 Web 开发中引入 MVC 会带来一定的复杂性,但它可以使系统的业务流程变得清晰,同时,系统的维护也可以变得简单。Struts 是在 Web 开发中实现 MVC 的一种有效的框架, 在本论文中,以中国人民保险有限公司的货运险电子商务系统为例子,详细讲述了如何在 Web 中应用 MVC 思想,同时,本论文也讲述了该系统整体设计开发,以及设计开发中所应到的一些理论和方法,如面向对象方法、J2EE 框架等。关键词 货运险 J2EE MVC Struts Cargo Insurance System - Online insurance And Query ManagementAbstract With the development of computer technology, the network has already become the indispensable part in peoples life, all respects in the society and the network has had the relation more or less. In the network the information browsing realize through the Web, therefore the design work of Web application appears especially importantly.In the past, the design of Web often insert the code to HTML page for realizing the due function of itself, the inconvenience that this kind of method has caused, for example: The procedure logic of Web becomes complicated, the modification of business logic or data possibly can check up each page and the system debugging changes difficulty and so on. These inconvenient brought the design and safeguarding of Web low efficiency.MVC refers to Model, View and Controller. It can divide the function of system into a lot of light package, which make system logic wholly, and improve the reusability and flexibility of system module. Apply MVC to the development of Web, which can realize the stripping of the function code and HTML page. Though using MVC in the Web bring complicity, it may cause the business logic of system change understandable. Meanwhile the safeguarding of system may change simply.Struts is a kind of valid frame of realizing MVC in Web. This thesis which takes Peoples Insurance Company of China e-cargo system as the example, told in detail how to apply MVC in Web, and how to use Struts to realize MVC in Web. Meanwhile this thesis also told some theories and method used in the analysis and design of system, such as object oriented methodology,J2EE frame and so on.Keywords Cargo J2EE Model-View-Controller Struts目 录第一章 绪论711 课题背景712 论文题目研究的意义813 论文框架814 本章小结9第二章 系统所用的理论和方法921 J2EE 的原理922 MVC技术简介1123 Struts 框架简介1324 基于Struts开发 MVC 的应用14241 基于Struts的MVC实现结构图14242 使用Struts的MVC概览15243 使用 Struts的MVC详细分析1525 Ajax简介1826 本章小结18第三章 系统的设计概述1931 总体设计目标1932 系统的体系结构1933 系统的功能结构2234 系统的运行网络结构2335 本章小结23第四章 系统的详细设计及实现2341 系统的业务逻辑分析2342 系统的数据库设计2543 系统的具体实现29431 货运险投保操作功能29432 货运险保单操作功能33433 投保单查询功能35434 保单查询功能36435 用户密码修改功能38436 打印设置功能4044 系统亮点4145 本章小结42第五章 回顾与展望4251 总 结4252 展 望42致谢语44参考文献45 CONTENTSCHAPTER 1 INTRODUCTION711 Background712 Contents And Means813 Thesis Hierarchy814 Summary9CHAPTER 2 BASIC THEORYS AND TECHNIQUES921 J2EE Principle922 MVC Introduction1123 Struts Introduction1324 Based Struts MVC Application14241 Based Struts MVC Structure14242 Based Struts MVC Survey15243 Based Struts MVC Analysis1525 Ajax Introduction1826 Summary18CHAPTER 3 SYSTEM DESIGN SUMMARIZE1931 System Design Target1932 System Structure1933 System Function Structure2234 System Network Structure2335 Summary23CHAPTER 4 SYSTEM COLLECTIVITY ANALYSIS AND IMPLEMENT2341 System Operation Logic Analysis2342 System DataBase Design2543 System Coding Implement29431 Cargo Invilidation Bill Operation29432 Cargo Vilidation Bill Operation33433 Invilidation Bill Query35434 Bill Query36435 Change Password38436 Print Set4044 Good Point4145 Summary42 CHAPTER 5 CONCLUSIONS and PERSPECTIVE4251 Conclusions4252 Perspectives42ACKNOWLEDGES 44REFERENCES45第一章 绪论11 课题背景近年,随着中国经济的高速发展,国内的货物运输量快速上升,伴随而来的是货运险业务迅猛发展。为了适应市场的需求,加快电子商务的发展,全面实现方便快捷的网上货运险业务,同时规范网上业务运作,防范经营风险,中国人民财产保险股份有限公司迫切需要一套货运险电子商务系统(WEB版)。此系统的目标用户为:保险代理公司,预约客户,保险公司内部人员等。通过该系统能全流程完成传统的保险实务,包括在线保险事务,查询管理,条款查看等等。本系统的实现可以很大程度上提高保险公司的工作效率和降低成本。系统的开发方式属于 Web 应用。早期的 Web 开发程序中,由于不注意对数据逻辑和显示的解耦合,常常会导致程序的复杂及难以维护。很多 VB,Delphi 等 RAD 程序都有这种问题。甚至现在的 C+,Java 有时候也会出现把业务逻辑写在显示模块中的现象。运用MVC 开发 Web 应用正可以解决这个问题。MVC:指“模型(M)视图(V)控制器(C)”结构。这个结构把应用程序分为三种对象类型:模型用于维护数据并提供数据访问方法,视图用于产生对应模型的部分数据或所有数据的可视图,控制器用于处理事件。Model 层实现系统中的业务逻辑,通常可以用 JavaBean 或 EJB 来实现。View 层用于与用户的交互,通常用 JSP 来实现。Controller 层是 Model 与 View 之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。MVC 的设计思想尽管很早就已经提出来,但应用于 Web 应用的开发却是最近才实现的。基于 MVC 的 Web 应用是采用 Struts 思想来实现的,Struts 提供自己的控制器组件(ActionController 类)并与其他技术相结合来提供模型与视图。对于模型(Model 类),Struts 能与任何标准的数据访问技术相结合,包括 EJB、JDBC 以及 Object-Relational Bridge。对于视图(ActionForm 类),Struts 在 JSP环境以及其他描述系统中能够很好的运行。12 论文题目研究的意义人保货运险电子商务系统的实现,可以方便人保客户进行在线投保,完成各种保险事务,能在客户和保险公司间建立快捷的沟通渠道,减少信息传递差错,进而提升保险公司业务管理能力和工作效率。人保货运险电子商务系统采用 MVC 框架开发相比于以前的 Web 应用开发,有以下几点好处:1各施其职,互不干涉。在 MVC 模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其它层中的代码。2 .有利于开发中的分工。在 MVC 模式中,由于按层把系统分开,那么就能更好的实现开发中的分工。网页设计人员可以进行开发视图层中的 JSP,对业务熟悉的开发人员可开发业务层,而其它开发人员可开发控制层。3. 有利于组件的重用。分层后更有利于组件的重用。如控制层可独立成一个能用的组件,视图层也可做成通用的操作界面。由上面几点可以看出,如果能在 Web 开发中有效地实现 MVC 思想,将会对Web 开发带来长远的影响。本系统的开发不仅可以使我们掌握软件开发的过程,更加深刻理解MVC模式以及Ajax、DHTML等多种现今热门技术学,同时提高自己地动手能力,能够学以致用,获得解决问题地能力。而且该系统需要多人合作,可以充分体现大家地团队合作能力,同时提高个人地学习应用能力,有效地适应今后软件开发不断学习生活。1.3论文框架第一章是绪论,主要介绍本论文的课题背景,主要研究内容和意义,本论文组织结构。课题背景主要阐述本次项目开发的研究方向和目的,主要研究内容和研究意义主要简单介绍这个项目所采用的技术,和这些技术的发展方向,对今后这个类型项目开发有何重大意义。第二章 系统所用的理论和方法。这一章将详细介绍之次开发过程中所用到的知识、概念、工具,以及这些技术的发展方向,重要意义。这些开发技术项目都是现在比较流行的技术和方法,将对这些技术引导到该的应用领域,以及在类似项目开发中特别突出的技术特点,以及现今同类项目开发的流行趋势。第三章 系统的设计概述。在这个章节中,我主要说明了货运险电子商务系统的设计目标、设计的基本理念、系统的体系结构、系统的功能结构、系统的运行环境和系统的接口设计,这样可以让我们更好地了解这个应用系统。第四章 系统的总体分析和实现。在这个章节中,该章将着重介绍该系统具体的设计步骤和方法,包括系统的业务逻辑分析、系统开发所用的各种类和对象、MVC 在系统中的具体应用。第五章为结束语,主要为开发总结,展望,下一步工作的方向。开发总结是对整个开发过程的技术总结和感悟总结,阐述技术开发中得到的深刻体会,对今后开发同类型的系统的指导意义。展望是对今后这种类型项目开发的趋势,以及此次项目还存在的缺陷。1.4本章小结在本章节中,主要讲述了本论文所要研究题目的背景和现状,以及研究该题目所用到的方法和研究该题目所带来的意义。最后,本章节讲述了本论文中各章节的结构。第二章 系统所用的理论和方法2.1 J2EE 的原理J2EE 是人保货运险电子商务系统分析与设计中最基础的思想,这个系统可以说是完全在这个框架上开发出来的。为了让读者了解本系统整体的开发框架,所以有必要在这里讲述一下 J2EE 框架的原理1。J2EE 标准是一个为开发和发布便于达到网络经济要求的应用程序所提供的标准,这个标准是由 Sun Microsystems 以及多个合作者共同开发的,主要应用于当今网络经济中的商业领域。建立这个标准是为了扩展现场、减少阻碍事务的冲突,通过标准使得商业仅集中在商业问题,而不是集中在复杂的技术问题。J2EE 支持开发分布事务应用程序的标准模式。分布式应用程序通常以分层的方式运行在几个计算机系统上。大概的情况分为客户层、Web 层、业务逻辑层和数据库层。J2EE 框架的层次图如图 2-1 所示2。图2-1 J2EE框架1 分布式应用程序的客户层经常运行在用户个人计算机的浏览器上。客户端可以是独立的应用程序或者其他程序,这些程序可以运行在其他设备上。2 Web 层通常运行在一个集中的服务器上,或位于集体计算中心的服务器上。服务器可同时给不同的客户端发送内容。同时,Web 层可以执行其他操作,比如维护服务器上用户访问页面的状态信息,以及访问应用程序的其他层。3 业务逻辑层通常当 Web 服务器需要进行特定的操作时才开始发挥作用,这些操作应用业务逻辑管理在线的交易或服务。例如,一个在线的书店使用业务逻辑执行对消费者的校验。因为所买的书从货单中移出和消费者用信用卡付账处在同一过程中,所以这些操作就是事务性的。如果信用卡因为某种原因没有付账,书就必须留在货单上。如果书没有发出,信用卡就不应该付账。业务逻辑层中的事务管理确保这些操作的一致性和数据的完整性。4 数据库层提供了对数据的基本的存储和访问。其中根据不同时期的不同目的,数据层可以包含几个系统,但是为了便于业务逻辑层中事务处理和交互通信,这几个系统可以互相操作。2.2 MVC技术简介MVC最初是在Smalltalk-80中被用来构建用户界面的。M代表模型Model, V代表视图 View, C代表 控制器Controller。MVC的目的是增加代码的重用率,减少数据表达,数据描述和应用操作的耦合度。 同时也使得软件可维护性,可修复性,可扩展性,灵活性以及封装性大大提高。通过把数据模式从各种可以被存取和控制的数据中分离出来可以改善分布式系统的设计。MVC设计模式3由三部分组成:模型是应用对象,没有用户界面,视图表示它在屏幕上的显示,代表流向用户的数据,控制器定义用户界面对用户输入的响应方式,负责把用户的动作转成针对Model的操作,Model 通过更新View的数据来反映数据的变化。三者关系如图2-2所示:Model抽象对象功能:封装系统状态管理数据一致性View抽象数据表达:表示针对用户的数据维护与Model一致性Controller抽象用户和对象的事件映射:根据上下文选择合适视图显示数据图2-2 MVC图现在的一些基于Web的分布式系统如B2B电子商务系统,就适合采用MVC架构。通过分析,从高层次的角度可以将一个应用的对象分为三类。一类就是负责显示的对象,一类对象包含商业规则和数据,还有一类就是接收请求,控制商业对象去完成请求。这些应用的显示是经常需要变换的,如网页的风格,色调,还有需要显示的内容,内容的显示方式等。而商业规则和数据是相对要稳定的。因此,表示显示的对象View经常需要变化的,表示商业规则和数据的对象Model要相对稳定,而表示控制的Controller则最稳定。通常当系统发布后,View对象是由美工,HTML/JSP设计人员或者系统管理员来负责管理的。Controller对象由应用开发人员开发实施,商业规则对象和商业数据对象则由开发人员,领域专家和数据库管理员共同完成的。显示逻辑在Web层或客户端控制,可以是Servlet 或JSP,动态地生成Html。与控制有关的对象存在于系统的每一个层次,协调跨层动作。包含商业规则和数据的对象存在于EJB层(以EJB为中心的模式)或Web层(以Web为中心的模式)。View在Web系统中的应用是这样的:View代表系统的显示,它完全存在于Web层。一般由JSP, Java Bean和Custom Tag组成。JSP可以动态生成网页内容,Custom Tag 更方便了使用Java Bean,而且它可以封装显示逻辑,更有利于于模块化和重用。一些设计良好的Custom Tag可以在多个JSP甚至可以在不同的系统里重复使用。Java Bean用来控制JSP和Model对象。JSP通过Java Bean 来读取Model对象中的数据,Model和Controller对象则负责对Java Bean的数据更新。一般来说,可以先要设计出所有可能出现的屏幕,即用户使用系统时可以看到的所有内容。然后根据这些内容,找出公共部分,静态部分和动态变化部分。可以考虑使用模板方法,把公用的内容单独生成JSP,需要变化的也各自生成Html或JSP, 由一个模板JSP, 把这些不同部分动态地引入(include方法)。还有一个要考虑的问题就是屏幕的选择问题,当处理完用户请求,模板被自动调用来显示,这个显示一定要知道用户关心的屏幕是有哪些部分组成。所以可以考虑把所有屏幕的定义放在一个集中的文件里,如一个Java文件或文本文件。由于考虑到屏幕定义文件将来的变更可能性,最好使用文本文件如一个XML文件,这样将来更改不用重新编译。可以根据用户输入的URL和参数可以映射到某一个结果屏幕,当然有可能还要根据动作的执行结果选择不同的结果屏幕内容。所以需要一个请求与资源的匹配文件(XML),如果一个URL请求有几种不同结果,则要在该文件中指明是否需要流控制(一种controller对象)以及不同流向的对应屏幕。 Model在Web系统中的应用是这样的:Model对象代表了商业规则和商业数据,存在于EJB层和Web层。在J2EE的规范中,系统有些数据需要存储于数据库中,如用户的账号信息(account model),公司的数据(company model)等,也有一些不需要记录在数据库里的,如某用户浏览的当前产品目录(catalog model),他的购物内容(shopping cart model)等。这些model数据存在于哪一层要根据它们的生命周期和范围来决定。在Web层有HttpSession和ServletContext及Java Bean对象来存储数据,在EJB层则有EJB来存储数据和逻辑。Web层的Java Bean的model对象存储了EJB层model对象的数据的拷贝。因为EJB层有很多不同的model对象,所以Web层可以通过一个ModelManager来控制EJB层的各model对象,在ModelManger中可以封装使用后台model对象的方法。在EJB层把所有的数据和规则都模式化为EJB也是不恰当的。如可以把存取数据库的对象模式化为DAO对象。DAO中可以封装与具体数据库的交互细节,如可以读写不同的表,多个数据库,甚至多种数据库。如定单的model对象可以是一个OrderDAO, 它可能要同时处理Order表,OrderStatus表和OrderItemLines表。还有可以考虑使用Value对象。一个Value 对象可以封装远程对象,因为每一个读远程对象的属性都可能是一个远程过程调用,都会耗费网络资源。可以在EJB的远程对象中使用Value对象. 在远程对象中一次性得到Value对象来得到所有属性的值。Controller在Web系统中的应用是这样的:Controller对象协调Model与View,把用户请求翻译成系统识别的事件。在Web层,一般有一个MainServlet(或Main.JSP),接收所有请求,它可以调用屏幕流管理器(ScreenFlowManger)决定下一个屏幕。一般还有一个请求处理器RequestProcessor,包含所有请求都需要做的处理逻辑,如把请求翻译成系统事件(RequestToEvent)。请求处理器通常还包含一个代理对象ClientControlWebImpl,它是EJB层的逻辑处理的在Web层的代理。在EJB层,有一个ClientController提供Web 层对EJB层的只读访问。还有一个StateMachine用来建立和删除ejb,处理Web层送来的事件。Controller还有一个重要的功能就是同步View和Model的数据。在ModelManger中包含一个ModelUpdateManger,它把系统事件转换为一个Model的集合,即所有需要同步的Model,然后通知Listeners去做同步操作。2.3 Struts 框架简介货运险电子商务系统是基于 MVC 开发的,而 MVC 的实现途径则是Struts,所以为了让读者更好地理解本论文的思想,有必要详细讲述Struts的原理4。Struts 是使用Servlet和JavaServer Pages 技术的一种 Model-View-Controller实现。Struts 可以控制 Web 项目中的变化并提高专业化水平。在以后的时间中,有的人可能永远不会用 Struts 实现一个系统,但可以将其中的一些思想用于Servlet 和 JSP 网页的实现中。本系统是采用 Struts 实现 MVC 的方式开发的,在没使用 Struts 和 MVC 以前,系统中的 Java 代码是和 HTML 代码放在一起,这样不但不利用程序员编写和修改代码,而且在后期维护时会有很大的不便。在使用 Struts 和 MVC 以后,实现了 HTML 代码和 Java 代码的分离,同时,实现了数据层、业务逻辑层、表示层和客户端的分离,尽管增加了系统的复杂性和层次性,但这样对于以后系统的维护有很大的便利。比如:系统由于需求的变更,需要改变系统的业务模型,如果按以前的设计方式设计系统,我们只能一个页面一个页面进行查找修改相应的代码,在使用 Struts 和 MVC 以后,我们只要修改相应的模块的业务逻辑层即可。这样程序员的工作量就会大大减少。正如我们在图 2-3 中所看到的那样,系统在使用 Struts 后复杂性和层次性都有显著增加。不再存在从 JSP 文件到 Service 层的直接调用。图 2-3 Web使用Struts前后的比较Struts的工作原理是: Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。如图2-4所示:GetEventHttpRequestEventHttpRequestSetInstantiateClientBrowerControllerServletViewJSPModel(Bean)Provided by a Backend service such as EJB server图2-4 MVC图2.4基于 Struts 开发 MVC 的应用在本章的上面两节中,讲述了 Struts 和 MVC 的思想,这两个思想在货运险电子商务系统的分析与设计中起到了最关键的作用。我们知道,Struts 是实现 MVC 在 Web 开发中的一种方式,为了大家能更好地理解两者之间的关系,我们在这一节主要讲述 Struts 如何在 Web 开发中实现 MVC 的5。2.4.1 基于 Struts 的 MVC 的实现结构图Struts 是一组相互协作的类、Servlet 和 JSP 标记,它们组成一个可重用的MVC 设计。这个定义表示 Struts 是一个框架,而不是一个库,但 Struts 也包含了丰富的标记库和独立于该框架工作的实用程序类。图 2-5 显示了 Struts 的一个概览6。图2-5基于 Struts 的 MVC 的结构图2.4.2使用 Struts 实现 MVC 的概览1 Client Browser(客户浏览器)来自客户浏览器的每个 HTTP 请求创建一个事件。Web 容器将用一个 HTTP响应做出响应。2 Controller(控制器)控制器接收来自浏览器的请求,并决定将这个请求发往何处。就 Struts 而言,控制器是以 Servlet 实现的一个命令设计模式。struts-config.xml 文件配置控制器。3 业务逻辑业务逻辑更新模型的状态,并帮助控制应用程序的流程。就 Struts 而言,这是通过作为实际业务逻辑“瘦”包装的 Action 类完成的。4 Model(模型)的状态模型表示应用程序的状态。业务对象更新应用程序的状态。ActionForm bean在会话级或请求级表示模型的状态,而不是在持久级。JSP 文件使用 JSP 标记读取来自 ActionForm bean 的信息。5 View(视图)视图就是一个 JSP 文件。其中没有流程逻辑,没有业务逻辑,也没有模型信息,只有标记。标记是使 Struts 有别于其他框架的因素之一。2.4.3使用 Struts 实现 MVC 的详细分析图 2-6 显示的是 org.apache.struts.action 包的一个最简 UML 图。显示了ActionServlet(Controller)、ActionForm(Form State)和 Action(Model Wrapper)之间的最简关系7。 图2-6 Command与 Model间关系的 UML 图1 ActionServlet 类早期,进行函数映射时,会将某些输入事件映射到一个函数指针上。如果对此比较熟悉,便会将配置信息放入一个文件,并在运行时加载这个文件。函数指针数组曾经是用 C 语言进行结构化编程的很好方法。现在不需要那么麻烦了,有了 Java 技术、XML、J2EE 等等。Struts 的控制器是将事件映射到类的一个 Servlet。正如所料的那样,控制器使用配置文件实现了不必对这些值进行硬编码。虽然有了新的技术,但基本思想并没有变。ActionServlet 是 MVC 实现的 Command 部分,它是这一框架的核心。ActionServlet(Command)的创建使用 Action、ActionForm 和 ActionForward 完成。如前所述,struts-config.xml 文件配置该 Command。在创建 Web 项目时,可以通过扩展 Action 和 ActionForm 来解决特定的问题。文件 struts-config.xml 指示ActionServlet 如何使用这些扩展的类。这种方法有几个优点:1. 应用程序的整个逻辑流程都存储在一个分层的文本文件中。这使得人们更容易查看和理解它,尤其是对于大型应用程序而言。2. 网页设计人员不必费力地阅读 Java 代码来理解应用程序的流程。3. Java 开发人员也不必在更改流程以后重新编译代码。4. 可以通过扩展 ActionServlet 来添加 Command 功能。2 ActionForm 类ActionForm 维护 Web 应用程序的会话状态。ActionForm 是一个抽象类,必须为每个输入表单模型创建该类的子类。输入表单模型是指 ActionForm 表示的是由 HTML 表单设置或更新的一般意义上的数据。例如,有一个由 HTML 表单设置的 UserActionForm。Struts 框架将执行以下操作:1) 检查 UserActionForm 是否存在。如果不存在,它将创建该类的一个实例。2) Struts 将使用 HttpServletRequest 中相应的域设置 UserActionForm 的状态。没有太多讨厌的 request.getParameter()调用。例如,Struts 框架将从请求流中提取fname,并调用 UserActionForm.setFname()。3) Struts 框架在将 UserActionForm 传递给业务包装 UserAction 之前将更新它的状态。在将它传递给 Action 类之前,Struts 还会对 UserActionForm 调用 validation()方法进行表单状态验证。这并不总是明智之举。别的网页或业务可能使用UserActionForm,在这些地方,验证可能有所不同。在 UserAction 类中进行状态验证可能更好。另外,在会话级可以对 UserActionForm 进行维护。AcionForm 在使用中应注意:1) struts-config.xml 文件控制 HTML 表单请求与 ActionForm 之间的映射关系。2) 可将多个请求映射到 UserActionForm。3) UserActionForm 可跨多页进行映射,以执行诸如向导之类的操作。3 Action 类Action 类是业务逻辑的一个包装。Action 类的用途是将 HttpServletRequest转换为业务逻辑。要使用 Action,请创建它的子类并覆盖 process()方法。ActionServlet(Command)使用 perform()方法将参数化的类传递给ActionForm。仍然没有太多讨厌的 request.getParameter()调用。当事件进展到这一步时,输入表单数据或 HTML 表单数据已被从请求流中提取出来并转移到ActionForm 类中。使用 Action 类时应注意的是,扩展 Action 类时请注意简洁。Action 类应该控制应用程序的流程,而不应该控制应用程序的逻辑。通过将业务逻辑放在单独的包或 EJB 中,便可以提供更大的灵活性和可重用性。4 Error 类上面所示的最简 UML 图还包括 ActionError 和 ActionErrors。ActionError封装了单个错误消息。ActionErrors 是 ActionError 类的容器,View 可以使用标记访问这些类。ActionError 是 Struts 保持错误列表的方式。5 ActionMapping 类输入事件通常是在 HTTP 请求表单中发生的,Servlet 容器将 HTTP 请求转换为 HttpServletRequest。控制器查看输入事件并将请求分派给某个 Action 类。struts-config.xml 确定 Controller 调用哪个 Action 类。struts-config.xml 配置信息被转换为一组 ActionMapping,而后者又被放入 ActionMappings 容器中。6 ActionMappingsActionMappings 是 ActionMapping 对象的一个集合。2.5 Ajax简介Adaptive Path公司的Jesse James Garrett这样定义Ajax8:Ajax不是一种技术。实际上,它由几种蓬勃发展的技术以新的强大方式组合而成。Ajax包含:1)基于XHTML和CSS标准的表示; 2)使用Document Object Model进行动态显示和交互; 3)使用XMLHttpRequest与服务器进行异步通信; 使用JavaScript绑定一切。Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。2.6本章小结本章节主要对系统开发所用的理论和方法进行了详细地说明,特别是系统所用的最基本的两个理论:Struts 和 MVC。并阐述了 Struts 的原理、MVC 的设计模式、MVC 在 Web 开发应用时的改进模式以及如何用 Struts 实现 MVC 在 Web开发中的应用。以及阐述了Ajax技术。第三章 系统的设计概述3.1 总体设计目标本系统将充分利用 J2EE 的丰富强大的功能和平台性能,结合先进的网络技术、面向对象技术,针对人保货运险业务特点,力求功能全面而细致,操作简单方便,强调网络信息交流和共享。同时还特别考虑到与其他业务系统互联和互操作,实现各个系统的无缝集成,使人保中的各系统协同工作,发挥最大的效率,帮助用户方便、安全、快捷地完成业务。本系统旨在辅助人保货运险客户能够通过网络随时随地完成在线保险业务,其中主要的保险业务如:在线投保,投保查询,投保修改,查询统计,查看条款,保单打印等。本系统的总体目标及优势:1.为保险客户提供方便和快捷的保险操作手段2.为客户度身设置,体现一对一优质服务3.使用地域不受限制4.使用对象广泛(保险公司内部机构、直接大客户、保险代理、保险经纪等 )5.在客户和保险公司间建立快捷的沟通渠道6.减少信息传递差错7.提升保险公司/客户业务管理能力8.以技术手段提高综合竞争力3.2系统的体系结构本系统中采用了三层 B/S 结构的设计。B/S 是 Brower/Server 的缩写,客户机上只要安装一个浏览器,如 Netscape Navigator 或 Internet Explorer,数据存储使用 Oracle、Sybase、Informix 或 SQL Server 等数据库。浏览器便可以通过 Web Server 同数据库进行数据交互。以前,系统的实现主要通过 C/S 结构来实现,C/S 又称 Client/Server 或客户/服务器模式。服务器通常采用高性能的 PC、工作站或小型机,并采用大型数据库系统,如 Oracle、Sybase、Informix 或 SQL Server。客户端需要安装专用的客户端软件。C/S 的优点是能充分发挥客户端 PC 的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个:1 只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种远程访问方式需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。2 客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部的情况,便不是工作量的问题,而是路程的问题了。还有在系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。3 对客户端的操作系统一般也会有限制。可能适应于 Win98, 但不能用于win2000 或 Windows XP。或者不适用于微软新的操作系统等等,更不用说 Linux、Unix 等。B/S 最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。B/S 结构可有三层体系结构和四层体系结构,本系统在设计时采用的是三层B/S 体系结构,如图3-1所示,三层 B/S 结构分别为:表示层、业务逻辑层和数据层9。三层 B/S 结构的优点10:1 良好的灵活性和可扩展性。对于环境和应用条件经常变动的情况,只要对应用层实施相应的改变,就能够达到目的。2 可共享性。单个应用服务器可以为处于不同平台的客户应用程序提供服务,在很大程度上节省了开发时间和资金投入。3 较好的安全性。在这种结构中,客户应用程序不能直接访问数据,应用服务器不仅可控制哪些数据被改变和被访问,而且还可控制数据的改变和访问方式。4 增强了企业对象的重复可用性。“企业对象”是指封装了企业逻辑程序代码,能够执行特定功能的对象。随着组件技术的发展,这种可重用的组件模式越来越为软件开发所接受。5 三层模式成为真正意义上的“瘦客户端”。从而具备了很高的稳定性,延展性和执行校率。6 三层模式可以将服务集中在一起管理,统一服务于客户端,从而具备了良好的容错能力和负载平衡能力。图3-1 三层体系结构1 表示层我们从一个高度来抽象一下表示层框架应有的技术架构,图 3.1 可以说所有表示层框架技术都必须要实现的功能架构图。当然,我们知道表示层是 MVC 模式中不可缺少的部分11,但现在表示层的框架技术已没有必要建立在 MVC 的模式上了。如图 3.1 所示,显示的是在 MVC模式基础上的表示层的功能架构图,一个表现层框架无外乎要实现上图中的三个功能:1. 在当前页面能够显示一个组件对象的内容;而不是象纯 JSP 那样,需要在 Jsp页面写入“调用对象方法”的 Struts 代码。2. 当用户按下页面的提交按扭或链接后,事件发生,这时应该触发服务器端并将当前页面的参数提交给服务器。这种机制表现在 Form 表单提交和有参数的链接。3. 从一个页面视图直接跳转到另外一个页面视图,是通过单纯导航作用来实现。2 业务逻辑层指实现企业信息过程的各种应用的空间。包含各种信息应用模块、数据挖掘、信息集成、信息智能、决策支持等内容。通过业务逻辑层的实施,实现信息系统的逻辑。业务逻辑层在运行环境中开辟这样一个空间,在这个空间里通过实施特定的应用软件,支持信息系统的实现。业务逻辑层接受从客户层输入的用户请求,将其转化为信息系统能够理解的语言并输入业务逻辑模块,根据操作逻辑有序地向数据层发送数据请求,并将数据层返回的数据解释及组合成用户所需信息,返回给客户层。业务逻辑层是运行环境的上层建筑,是直接面对用户操作的应用。多年来,随着许多专业软件公司的发展,提供了许多专业化的业务逻辑整体解决方案。在本系统中,应用的内容根据本系统功能可分为:任职资格审核、履职监管、任职资格终止、报表、总体查询、用户管理和系统设置等等。3 数据层在数据层中主要解决企业结构化和非结构化数据的集中储存,用以支持业务逻辑层的各项应用。对于结构化数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公务员面试题及答案排序
- 2025年政府部门招聘公务员笔试模拟题及答案解析
- 2025年软件开发过程中的质量控制与测试技巧实战教程
- 2025年初级会计职称考试应试技巧与解析
- 2025年航空机械专业基础知识面试模拟题集与解析
- 2025年碳汇项目开发师蓝碳方向考试必-备知识点
- 2025年银行系统技术部招聘笔试精讲与答案
- 2025年裂解过程优化模拟测试
- 2025年高难度摄影测量技能解析及高级面试模拟题详解
- 技术检验专业知识培训课件
- 安全知识竞赛题及答案(400道)
- 中秋节猜灯谜良宵美景解灯谜中秋祝福课件
- 安防行业视频监控系统维护方案
- 初高中政治衔接-知识点讲义
- 全国交通运输行政执法综合管理信息系统考试题库-中(多选题练习)
- 深圳实验学校新初一分班语文试卷
- 2024年T电梯修理证解析及电梯修理-T证模拟考试题库
- 青灵与量子物理学的关联研究
- 《育婴师培训》-课件:婴幼儿体温测量
- 高考物理真题分项汇编:动量(含答案)
- 膀胱阴道瘘病人的护理
评论
0/150
提交评论