欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    基于BS架构保险系统的设计和实现毕业论文.doc

    • 资源ID:3938208       资源大小:1.09MB        全文页数:68页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于BS架构保险系统的设计和实现毕业论文.doc

    基于B/S架构保险系统的设计和实现摘 要三号黑体加粗面对日趋严峻的经营环境,各保险公司竞争致胜的关键是如何形成以客户服务为中心的营运主轴,并建立国际化、标准化与优质化的组织架构、作业流程,以及相应的信息系统,同时这也是各公司所需积极应对的挑战。保险核心系统是一个保险公司开业的先决条件,保险公司也已经广泛地认识到保险公司业务的高速增长和面临的巨大竞争压力需要得到一个高度灵活的、可靠的和可扩展的核心业务系统的支持,这个核心业务系统需能够为保险公司和所有的用户提供完整、全面的业务处理支持。国内的保险核心系统通常以保险公司现有业务作为模板进行开发,往往缺乏前瞻性,这样的系统缺乏可扩展性和可移植性。由于不同保险公司之间的业务和经营模式差异性较大,需要通用核心系统具有高度的模块化、参数化、以满足不同保险公司的需求,同时保证系统具有良好的可扩展性和可移植性。关键词:B/S,J2EE,保险核心系统,Java企业架构,架构模型,通用架构AbstractFacing the serious business environment, how to form to the customer service as a center spindle is the key to winning the competition, and the establishment of international standardization and quality of organizational structure, processes, the corresponding information systems, and required to actively respond to the challenges.Insurance core system is an opened prerequisite for the insurance company has also been widely recognized that the rapid growth of the insurance company's business and facing enormous competitive pressures need to be a highly flexible, reliable and scalable core business system support core business systems need to be able to insurance companies and all users to provide a complete, comprehensive business support. Domestic insurance core systems are usually developed as a template tot he existing business of the insurance company, and often a lack of forward-looking, such systems lack the scalability and portability. Business and business model differences between the different insurance companies, the common core system with a high degree of modularity, parameterization, in order to meet the needs of different insurance companies, while ensuring that the system has good scalability and portability .Key words:B/S, J2EE, Insurance core system, Frameworkmodel, UniversalFramework目 录1 绪论11.1 背景及目的11.2 研究主要内容22 开发工具和开发技术选择32.1 B/S模式32.2 JSP技术42.3 JSON技术82.4 Struts技术102.5 Spring技术112.5 Hiberanate技术122.6 本章小结133 系统的需求分析143.1 需求分析143.2 新旧系统功能对比153.3 本章小结164 系统的设计174.1 整体技术架构174.2 构造思路234.3 架构实现244.3.1 PCIS V6应用服务器的配置244.3.2 配置文件254.3.3 DW展示304.3.5 PCIS V6 业务层384.3.6 业务层事务处理394.3.7 PCIS V6集成层394.4 数据库分析和设计434.5 数据库物理结构设计444.6 本章小结475 系统模块的实现485.1 用户登录模块的实现485.2 新增投保模块的实现505.2.1 前台界面字段设置515.2.2 后台界面字段设置545.3 暂存单查询模块的实现545.4 投保单查询模块的实现555.5 本章小结556 调试与测试576.1 程序调试原则和目的576.2 程序调试576.3 系统测试586.4 本章小结61总 结62参 考 文 献63致 谢641 绪论随着保险行业业务快速发展以及市场竞争加强,特别是渠道业务发展,将各个保险公司IT支撑系统推到竞争的第一线,直接进入“面对面”的竞争。梳理核心业务的出单流程,推出更高效便捷的“快速出单系统”成为迫在眉睫的事项。为V6保险快速出单系统需求调研提供指引,同时对系统设计提供参考性指导。由于不同保险公司之间的业务和经营模式差异性较大,需要通用核心系统具有高度的模块化、参数化以满足不同保险公司的需求,同时保证系统具有良好的可扩展性和可移植性。J2EE(Java2PlatformEnterpriseEdition)是Sun公司推出的一个多层次结构的分布式应用程序模型,该模型具有重用组件的能力、基于扩展标记语言(XML)i数据交换、统一的安全模式和灵活的事务控制,它为搭建具有可伸缩性、灵活性、易维护性的企业信息系统提供了良好的机制,与传统的互联网应用程序模型相比有着不可比拟的优势。开发者不仅可以更快地发表对问题域新的解决方案,而且其独立于平台、基于组件的J2EE解决方案不再受到提供商的产品和应用程序编程界面的限制。本文通过研究保险行业的核心系统的基础上根据保险行业的共同特点给出了保险核心系统的总体构架模型,该总体架构模型解决了保险公司根据现有的业务模板开发出的系统的不足。1.1 背景及目的当前渤海核心业务系统(由软通动力提供的PCISV5)系统运行稳定,从性能支撑上和功能扩展性均能满足。但是,其的技术架构不能适应车险快速出单的要求。需要进行根据业务发展的要求进行部分升级。现有核心系统升级在规划当中,由于核心系统的升级涉及业务面广,外围系统众多,数据迁移量大而繁杂。核心系统全面升级需要更长的时间以及更全面的准备。基于上述原因,渤海保险决定建设“快速出单系统”。这也决定了该系统的建设重要目标:高效、快速,并能与当前的核心系统兼容。1. 对出单点的网络情况要求不高。对网络的要求一方面是网速要求,一方面是VPN要求。快速出单系统应该允许公网访问,不能仅仅依靠VPN才能联通。快速出单系统的客户端(即:浏览器)与服务器之间传送信息最小化,交互次数最少化。2. 对录单人员的系统熟悉度不应有过高要求。系统假定面向三个层面的操作者:第一,了解车险业务,但不熟悉系统,系统应该从人的角度考虑,通过向导式的录入,引导客户录入信息;第二、初步了解系统,并且业务范围相对固定(例如:某品牌4S店),系统应该提供预定义模板的方式简化这部分人员的操作流程;第三、对系统非常熟悉的熟练操作人员,系统应该将信息分块,并考虑预提一部分信息做录入准备。3. 系统要避免出现系统长时间等待或者死机现象,需要具有良好的交互性,能对操作员的动作快速做出反映,对于操作错误要准确定位。1.2 研究主要内容原V6前台采用的DW(DataWindow)+XSLT形式做页面及数据展现,好处是制定页面时候模板化,开发人员耗费较少的时间定制页面,同时不需要关心页面的基础校验及事件管理。但是由此也带来一些问题,由于界面的模板化,导致需要在客户端浏览器解析模板文件生成HTML才能展现,耗费客户端浏览器资源,同时对客户端机器有一定的要求,另外模板化对于个性页面的处理带来了不方便,对于部分需要特殊展现及特殊视觉效果支持不到位。同时由于需要兼容原有V6的后台,所以快速出单推出了新的前台框架。新的框架使用的是纯JSP作为前台页面展现及数据获取,在页面初始化的时候平台将初始化一个WD(WebData)的JSON数据结构存储数据。由于使用的是JSP所以对页面布局也更为灵活,可以任意将数据布局。界面上的Input标签的机构任然采用原产品定义的结构使用“别名.字段名”作为字段Name,前台JSP维护了DWBase'的DW数据结构。看到这里你可能会疑问,为什么前台还会有DW的形式存在。那是因为后台向前台返回数据的时候仍然要用到DW的结构,但是对里面的数据类型、CodeList、校验类型、Onchange事件等均布响应,新平台关联DW仅仅使用Attribute标签的Name属性,也就是说前台的一个Input的那么必须对应后台一个DW的Name,否则字段回填会有问题(不会影响字段值抽取,因为字段值抽取与DW无关)。2 开发工具和开发技术选择系统开发平台:My Eclipse 6.5数据库管理系统软件:Oracle 10.0运行平台:Windows XP / Window Vista / Window 7Java 开发包:JDK5.0 以上Web 服务器:Tomcat 6.0本系统采用MVC架构模式开发,具体如下。显示层:使用JSP技术开发控制层:使用Servlet技术开发模型层:使用Java Bean技术开发2.1 B/S模式B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。由此而见,B/S架构软件的优势与劣势就十分明显了。1. 维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。2. 成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“网易”(原文为新浪)网,只要安装了浏览器就可以了,并不需要了解“网易”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。3. 应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。2.2 JSP技术JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。JSP是动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。JSP使Java代码和特定的预定义动作可以嵌入到静态页面中。JSP句法增加了被称为JSP动作的XML标签,它们用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库提供了一种和平台无关的扩展服务器性能的方法。JSP被JSP编译器编译成Java Servlets。一个JSP编译器可以把JSP编译成JAVA代码写的servlet然后再由JAVA编译器来编译成机器码,也可以直接编译成二进制码。JSP是模型-视图-控制器(MVC)的设计模式,为了把表现层presentation从请求处理request processing和数据存储data storage中分离开来,升阳公司推荐在JSP文件中使用一种模型-视图-控制器Model-view-controller模式。规范的SERVLET或者分离的JSP文件用于处理请求。当请求处理完后,控制权交给一个只作为创建输出作用的JSP页。有几种平台都基于服务于网络层的模-视图-控件 模式(比如Struts和Spring framework)。1. 一个JSP页面可以被分为以下几部份:(1) 静态数据,如HTML(2) JSP指令,如include指令(3) JSP脚本元素和变量(4) JSP动作(5) 用户自定义标签(6) 静态数据静态数据在输入文件中的内容和输出给HTTP响应的内容完全一致。此时,该JSP输入文件会是一个没有内嵌JAVA或动作的HTML页面。而且,客户端每次请求都会得到相同的响应内容。2. JSP指令JSP指令控制JSP编译器如何去生成servlet,以下是可用的指令:包含指令include 包含指令通知JSP编译器把另外一个文件完全包含入当前文件中。效果就好像被包含文件的内容直接被粘贴到当前文件中一样。这个功能和C预处理器所提供的很类似。被包含文件的扩展名一般都是"jspf"(即JSP Fragment,JSP碎片):<% include file="somefile.jsp" %>页面指令page 页面指令有以下几个选项:(1) import使一个JAVA导入声明被插入到最终页面文件(2) contentType规定了生成内容的类型。当生成非HTML内容或者当前字符集character set并非默认字符集时使用。(3) errorPage处理HTTP请求时,如果出现异常则显示该错误提示信息页面(4) isErrorPage如果设置为TRUE,则表示当前文件是一个错误提示页面(5) isThreadSafe表示最终生成的servlet是否安全线程(thread safe)(6) import="java.util.*"表示导入java实例(7) contentType="text/html表示页面类型(8) isErrorPage=false 表示无错页面(9) isThreadSafe=trueJSP表示安全线程JSP注意:在同一个JSP文件中只有"import"导入页面指令可以被多次使用。标签库指令taglib 标签库指令描述了要使用的JSP标签库。该指令需要指定一个前缀prefix(和C+的命名空间很类似)和标签库的描述URI:<% taglib prefix="myprefix" uri="taglib/mytag.tld" %>3. JSP脚本元素和变量(1) 以下是永远可用的标准脚本变量:out:JSPWriter用来写入响应流的数据page:servlet自身pageContext:一个PageContext实例包括和整个页面相联系的数据,一个给定的HTML页面可以在多个JSP之间传递。request:HTTP request对象response:HTTP response对象session:HTTP session对象(2) 脚本元素有三个基本的脚本元素,作用是使JAVA代码可以直接插入servlet。一种是声明标签,在JAVA SERVLET的类体中放入一个变量的定义。静态的数据成员也可以如此定义。<%! int serverInstanceVariable = 1; %>一种是脚本标签,在JAVA SERVLET的类的_jspService()方法中放入所包含的语句。<%int localStackBasedVariable = 1; out.println(localStackBasedVariable); %>一种是表达式标签,在JAVA SERVLET的类中放入待赋值的表达式,表达式注意不能以分号结尾。4. JSP动作JSP动作是一系列可以调用内建于网络服务器中的功能的XML标签。JSP提供了以下动作:jsp:include和子过程类似,JAVA SERVLET暂时接管对其它指定的JSP页的请求和响应。当处理完该JSP页后就马上把控制权交还当前JSP页。这样JSP代码就可以在多个JSP页中共享而不用复制。jsp:param可以在jsp:include, jsp:forward或jsp:params块之间使用。指定一个将加入请求的当前参数组中的参数。jsp:forward用于处理对另一个JSP或SERVLET的请求和响应。控制权永远不会交还给当前JSP页。jsp:pluginNetscape Navigator的老版本和Internet Explorer使用不同的标签以嵌入一个applet。这个动作产生为嵌入一个APPLET所需要的指定浏览器标签。jsp:fallback如果浏览器不支持APPLETS则会显示的内容。jsp:getProperty从指定的JavaBean中获取一个属性值。jsp:setProperty在指定的JavaBean中设置一个属性值。jsp:useBean创建或者复用一个JavaBean变量到JSP页。上述说明了一种在网页中嵌入applet的统一方法。在<OBJECT>标签出现之前,并没有一种嵌入applets的通用方法。这个标签设计得并不好,但有希望在以后加入动态属性(height="$param.height", code="$chart"等)和动态参数的新功能。目前jsp:plugin标签不允许动态调用applets。例如,你如果有一个图表applet需要数据点以参数形式被传入,除非数据点的数量是一个常量,否则你就不能使用ResultSet循环来创建jsp:param标签,你不得不手写每个jsp:param标签的代码。而每个上述jsp:param标签可以有一个动态命名和动态值。scope属性可以是request, page, session or application,它有以下用意:request 该属性在请求的生命周期内有效,一旦请求被所有的JSP页处理完后,那么该属性就不可引用。page:该属性只是当前页中有效。session:该属性在用户会话的生命周期内有效。application:该属性在各种情况下都有效,并且永远不会被变为不可引用,和全局变量global variable相同。可用一个创建一个类的实例,并且把该实例存储在属性中,该属性将在该请求的生命周期内有效。它可以在所有被包含或者从主页面(最先接收请求的页面)转向到的JSP页之间共享。5. JSP标签库除了JSP预定义动作之外,开发者还可以使用JSP标签扩展API添加他们自定义的动作。开发者写一种实现一个标签的界面和一个标签库的XML描述文件的JAVA类,这就能指定标签和实现标签的JAVA类。JSP编译器将会载入.tld这个XML文件,然后可以看到标签myaction由JAVA类MyActionTag实现。当该标签首次在文件中使用时,将会创建一个MyActionTag的实例。然后(而且当每次该标签被使用时),当出现开始标签时,将会调用doStartTag()方法,根据开始标签的结果,来决定如何处理标签的主体。主体是指开始标签和结束标签之间的文本。这个doStartTag()方法将会返回如下之一:SKIP_BODY:标签之间不做处理。EVAL_BODY_INCLUDE:对标签之内主体进行赋值。EVAL_BODY_TAG:对标签之内主体进行赋值并把结果输出到流(保存在标签的主体内容属性中)。注意:如果标签扩展了BodyTagSupport类,当主体被执行时会在调用doEndTag()之前调用doAfterBody()方法。该方法用于实现循环结构。当结束标签出现时,它会调用doEndTag()方法,该方法会返回如下两做之一:EVAL_PAGE:表示JSP文件的剩余部份将会被执行。SKIP_PAGE:表示将不会再有更多执行操作。当前JSP页交出控制权。就象在转发动作中的作用一样。2.3 JSON技术JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C+, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。JSON格式是1999年JavaScript Programming Language, Standard ECMA-262 3rd Edition的子集合,所以可以在JavaScript以eval()函式(javascript通过eval()调用解释器)读入。不过这并不代表JSON无法使用于其他语言,事实上几乎所有与网页开发相关的语言都有JSON函式库。1. JSON用于描述数据结构,有以下形式存在。(1) 对象 (object):一个对象以“”开始,并以“”结束。一个对象包含一系列非排序的名称值对,每个名称值对之间使用“,”分割。(2) 名称值对(collection):名称和值之间使用“:”隔开,一般的形式是:name:value;一个名称是一个字符串; 一个值可以是一个字符串,一个数值,一个对象,一个布尔值,一个有序列表,或者一个null值。(3) 值的有序列表(Array):一个或者多个值用“,”分割后,使用“”,“”括起来就形成了这样的列表,形如:collection, collection(4) 字符串:以""括起来的一串字符。(5) 数值:一系列0-9的数字组合,可以为负数或者小数。还可以用“e”或者“E”表示为指数形式。(6) 布尔值:表示为 true 或者 false。2. 安全性问题(1) JavaScript的eval()由于JSON在语法上是JavaScript的子集合,所以一般都会使用eval()作为读取资料的方式,如果是针对可靠的数据来源,在不支持原生JSON解析的浏览器上面这是最快速的方法。然而由于eval方法同样可以执行任意的JavaScript代码,因此当数据来源不可靠时则可能产生安全性问题。其中一种防止不安全代码出现的解决办法是透过浏览器原生支持的JSON.parse(str)方法读取JSON资料,目前已经得到大部分主流浏览器的支持(IE8+,Firefox 3.5+,Chrome4+/Safari4+,Opera10+),在不支持原生JSON对象的浏览器上面可以使用parseJSON方法进行读取,parseJSON采用解析器验证读入的代码是否真的是JSON代码,这样就提供了较好的安全性。但是,由于这是用模拟的方式读取,速度上会比eval()慢。(2) 跨站存取问题另外一个安全上的问题则是跨站请求伪造(Cross-site request forgery,简称CSRF或XSRF)。这个问题在Javascript中的状况是,由于Javascript采用了称为“沙盒”的机制,这种机制限制Javascript引擎仅能引入同一个站点的代码,因而某种程度上提高了安全性。(3) 与XML格式的比较JSON与XML最大的不同在于XML是一个完整的标记语言,而JSON不是。这使得XML在程式判读上需要比较多的功夫。主要的原因在于XML的设计理念与JSON不同。XML利用标记语言的特性提供了绝佳的延展性(如XPath),在数据存储,扩展及高级检索方面具备对JSON的优势,而JSON则由于比XML更加小巧,以及浏览器的内建快速解析支持,使得其更适用于网络数据传输领域。2.4 Struts技术在Struts中,已经由一个名为ActionServlet的Servlet充当 控制器(Controller)的角色,根据描述模型、视图、控制器对应关系的struts-config.xml的配置文件,转发视图(View)的请求,组装响应数据模型(Model)。在MVC的 模型(Model)部分,经常划分为两个主要子系统(系统的内部数据状态与改变数据状态的逻辑动作),这两个概念子系统分别具体对应Struts里的ActionForm与Action两个需要继承实现超类。在这里,Struts可以与各种标准的数据访问技术结合在一起,包括Enterprise Java Beans(EJB), JDBC与JNDI。在Struts的视图(View)端,除了使用标准的JavaServer Pages(JSP)以外,还提供了大量的标签库使用,同时也可以与其他表现层组件技术(产品)进行整合,比如Velocity Templates,XSLT等。通过应用Struts的框架,最终用户可以把大部分的关注点放在自己的业务逻辑(Action)与 映射关系的配置文件(struts-config.xml)中的。它也有优缺点。很多开发人员认为Struts目前尚不成熟,应用的成本较高。 附带的一点点建议: Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。 Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。它的发展历程。在Java EE的Web应用发展的初期,除了使用Servlet技术以外,普遍是在JavaServer Pages(JSP)的源代码中,采用HTML与Java代码混合的方式进行开发。因为这两种方式不可避免的要把表现与业务逻辑代码混合在一起,都给前期开发与后期维护带来巨大的复杂度。为了摆脱上述的约束与局限,把业务逻辑代码从表现层中清晰的分离出来,2000年,Craig McClanahan采用了MVC的设计模式开发Struts。后来该框架产品一度被认为是最广泛、最流行JAVA的WEB应用框架。2006年,WebWork与Struts这两个优秀的Java EE Web框架(Web Framework的团体,决定合作共同开发一个新的,整合了WebWork与Struts优点,并且更加优雅、扩展性更强的框架,命名为“Struts 2”,原Struts的1.x版本产品称为“Struts 1”。至此,Struts项目并行提供与维护两个主要版本的框架产品Struts 1与Struts 2。2.5 Spring技术Spring 也表示是一个开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring 也是一个开源的JavaJava EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。该框架基于 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)一书中的代码,最初由 Rod Johnson 和 Juergen Hoeller等开发。Spring Framework 提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。1. Spring 中包含的关键特性强大的基于 JavaBeans 的采用控制翻转(Inversion of Control,IoC)原则的配置管理,使得应用程序的组建更加快捷简易。一个可用于从 applet 到 Java EE 等不同运行环境的核心 Bean 工厂。数据库事务的一般化抽象层,允许宣告式(Declarative)事务管理器,简化事务的划分使之与底层无关。内建的针对 JTA 和 单个 JDBC 数据源的一般化策略,使 Spring 的事务支持不要求 Java EE 环境,这与一般的 JTA 或者 EJB CMT 相反。JDBC 抽象层提供了有针对性的异常等级(不再从SQL异常中提取原始代码),简化了错误处理,大大减少了程序员的编码量。再次利用JDBC时,你无需再写出另一个 '终止' (finally) 模块。并且面向JDBC的异常与Spring 通用数据访问对象(Data Access Object)异常等级相一致。以资源容器,DAO 实现和事务策略等形式与 Hibernate,JDO 和 iBATIS SQL Maps 集成。利用众多的翻转控制方便特性来全面支持,解决了许多典型的Hibernate集成问题。所有这些全部遵从Spring通用事务处理和通用数据访问对象异常等级规范。灵活的基于核心 Spring 功能的 MVC 网页应用程序框架。开发者通过策略接口将拥有对该框架的高度控制,因而该框架将适应于多种呈现(View)技术,例如 JSP,FreeMarker,Velocity,Tiles,iText 以及 POI。值得注意的是,Spring 中间层可以轻易地结合于任何基于 MVC 框架的网页层,例如 Struts,WebWork,或 Tapestry。2. 提供诸如事务管理等服务的面向方面编程框架。在设计应用程序Model时,MVC 模式(例如Struts)通常难于给出一个简洁明了的框架结构。Spring却具有能够让这部分工作变得简单的能力。程序开发员们可以使用Spring的 JDBC 抽象层重新设计那些复杂的框架结构。2.5 Hiberanate技术Hibernate是一种Java语言下的对象关系映射解决方案。它是使用GNU宽通用公共许可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。Hibernate也是目前Java开发中最为流行的数据库持久层框架,现已归JBOSS所有。它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用Hibernate。Hibernate不仅负责从Java类到数据库表的映射(还包括从Java数据类型到SQL数据类型的映射),还提供了面向对象的数据查询检索机制,从而极大地缩短的手动处理SQL和JDBC上的开发时间。Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。这6个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这6个核心接口分别加以介绍。1. Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。2. SessionFactory接口:SessionFactory接口负责初始化Hi

    注意事项

    本文(基于BS架构保险系统的设计和实现毕业论文.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开