已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在线考试系统管理员功能子模块专 业: 指导教师: 2014年 11 月在线考试系统的需求摘要 在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。我主要负责系统后台管理员子系统的开发,它包括用户管理、试题管理、试卷管理和分数查询等功能。本论文主要介绍了在线考试系统的分析、设计和开发的全部过程。运用er图,程序流程图等对在线考试系统的设计过程进行详细的说明。本毕业设计的内容是设计并且实现一个基于web技术的在线考试系统,故而系统主要以jsp作为开发基础,主要使用了struts+spring等多种协议或技术,用eclipse作为开发工具,以oracle作为数据库。基本实现了网上考试系统应有的主要功能模块,包括:管理员的登录,管理和维护;用户管理、登录、注销;试题管理、试卷管理、成绩查询。该系统界面简单、操作方便,容易维护。关键词: b/s结构,在线考试,oracleonline examination system needsabstract online examination system designed to achieve paperless management exams , exams for some subjects can be carried via the internet or lan to facilitate the management of the school examination , candidates are also convenient , especially for candidates widely distributed and difficult to focus on distance education . my background is mainly responsible for the development of the system administrator subsystem , which includes user management , test management , test management and scores query. this paper describes the entire process of online exam system analysis , design and development. using er diagrams , process flow chart of the design process online examination system is described in detail .contents of this graduation project is to design and realize a web-based online examination system technology, and therefore mainly jsp as a development system based on the main use of struts + spring , and other agreements or technology, using eclipse as a development tool for oracle as the database . the basic realization of the main functions of the module online examination system should include : administrator login , management and maintenance ; user management , login, logout ; test management , test management , query results . the system interface is simple and easy to operate , easy to maintain.key words : b / s structure , online exam , oracle目 录 1 引言11.1课题研究的背景和意义11.2国内外相关发展动态21.2.1在线考试系统国外发展情况21.2.2在线考试系统国内发展情况31.3系统研究和可行性分析31.3.1系统研究31.3.2可行性分析32 系统应用的关键技术62.1 jsp技术介绍62.1.1 jsp的概述62.1.2 jsp的运行机制62.1.3 jsp的强势与劣势72.1.4 jsp与asp的比较82.2 java组件javabeans92.2.1 什么是javabeans92.2.2 jsp与javabeans的关系92.3 关于b/s开发模式92.4关于struts102.4.1 struts简介102.4.2 struts的主要功能102.4.3 struts工作原理112.5 关于spring122.5.1 spring简介122.5.2 为什么需要spring132.5.3 spring带给我们什么142.6 tomcat服务器152.6.1 tomcat 服务器简介15第 页 共 error! bookmark not defined. 页2.6.2 tomcat的特点152.6.3 tomcat的优势152.6.4 tomcat服务器的安装和配置153 系统设计173.1 系统功能需求173.2 系统角色及其功能分析173.2.1 系统的2个角色:173.2.2 系统角色的功能173.3 总体设计思想概述183.4 数据库设计193.4.1 e-r图193.4.2数据表的设计193.5系统的用例图213.5.1 总体用例分析213.5.2 用户管理用例分析223.5.3 试卷管理用例分析223.5.4 试题管理用例分析233.5.5 成绩管理用例分析234 系统测试24总结25参 考 文 献26致 谢27第 error! bookmark not defined. 页 共 error! bookmark not defined. 页1 引言1.1课题研究的背景和意义随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代化考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!第 1 页 共 27 页目前,网络应用软件运行的模式主要有二类:client/server模式,browser/web模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是web server,而webserver与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的mis系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。网络考试系统具有降低考试成本,解决繁重的考务工作的优点。它可以免去教师大量的临考工作,试卷可以根据题库中的内容即时生成;教师也无须去做考后的阅卷、统计、分析工作,计算机可以自动判卷,直接把成绩送到数据库中进行统计、排序、汇总。实现无纸化考试,大大提高了工作效率。目前,基于网络考试面向的主要是社会上的培训认证考试(如微软的各种认证考试)和远程教育的考试。一个成功的基于web的考试,需要一个好的网络环境,一个好的考试平台和一个好的题库。但一个真正的智能化的基于web的考试系统的实现是个复杂的过程,考试平台和题库的研究要依靠软件开发专家、被测学科专家和精通考试理论和命题的专家三者的合作。因而对于有极大市场的社会认证考试,必然会走上专业化的道路。1.2国内外相关发展动态1.2.1在线考试系统国外发展情况计算机考试系统的实现,将教师从繁琐的出题、监考、阅卷、试卷分析和成绩统计的传统考试中解脱出来,充分体现了准确、客观、公正、快速、简捷等特点。20世纪70年代,美国考试委员会着手进行计算机模拟考试的研究工作,并于1983年编制出有效的模拟考试系统,当时的名称是计算机辅助考试系统。1990年8月,美国加利福尼亚、得克萨斯等十个州创建各州以及各高等院校相互认可的学位证书以及相应的教学体系,从而正式拉开网络远程考试的序幕。著名的考试机构有美国思而文学习系统有限公司。它是一家从事教育和计算机化考试服务的专业公司,在世界的6大洲140多个国家和地区有2200多个考试中心,可用25种语言提供近百个不同类型,一千多种考试,每年全球参加计算机化考试的人数约400万。当今大部分的授证机构均委托思而文公司为其进行测试、评估。当今最出名的网络教育案第 2 页 共 27 页例,当属美国政府举办的tofel考试,目前在全球范围内,均可以通过国际互联网进行tofel培训与考试,大大减少了美国政府对于此项考试的开支,并能更快速、准确地为期望进入美国学习的学生服务。目前美国大约有80所大学允许学生通过网络考试获得学位,另外,加拿大、英国等其它西方国家也在大力开展网络考试系统2。1.2.2在线考试系统国内发展情况与西方发达国家的突飞猛进相比,国内的计算机考试技术研究工作开展的相对较晚,但国内在网络远程教学研究工作发展相当迅速。目前各高等院校如清华大学、北京大学、上海复旦大学、同济大学、西安交通大学、华南理工大学、北京医科大学和湖南大学等高校己陆续在网上设立了自己的考试系统,并开展相关研究。国家信息产业部也开发了办公自动化证书ceac远程考试系统、红旗linux远程考试系统。通过对国内外计算机考试系统的考察和试用,我们发现它们具备以下特点:(1)c/s结构和b/s结构并存,但基本都可以在网络上使用;(2)大都提供自动组卷和自动评卷功能,但水平参差不齐;(3)考核软件使用仿真模拟环境和调用真实环境两者都有;(4)均采用了开放式试题库,扩充比较容易;(5)对题库的分析管理部分都比较重,都提供了最基本的功能。1.3系统研究和可行性分析1.3.1系统研究在线考试系统,属于采用b/s架构的信息管理系统。这样的系统能够很好的在校园网中架设和实现。对于学校来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但b/s架构的系统只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。1.3.2可行性分析可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系第 3 页 共 27 页统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是对进行了一次较大压缩简化后的系统进行分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。系统的可行性分析主要包括经济上的可行性,技术上的可行性,操作上的可行性和法律上的可行性。经济可行性目标系统开发经济需求的比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上十分有限。而且,目标系统并是十分的复杂,开发的周期较短,人员经济支出有限。当系统开发成后,通过测试和、试运行和实际应用后3,将很大程度上提高管理的科学性和高效性,在为学校带来便利的同时,也为系统的进一步推广、创新创造了条件,这带来的经济回报将远超过支出,并且最重要的一点是通过该系统的开发,可以使我们进一步理解软件工程思想和软件开发流程,为从事软件开发工作打下很好的基础,从长远利益来考虑,本课题的设计开发还是具有相当大的经济可行性的。技术可行性本系统使用jsp技术进行开发,tomcat框架作为已经比较成熟的产品,现在有越来越多的企业及技术人员选择它作为开发平台。因此,在技术上jsp是完全可以胜任这个平台的开发1。本系统实现基于web的发布、查询的功能;由多个网站模块组成。每个模块由一组业面及相关程序组成,完成相对独立的任务。此外还涉及到数据库数据的访问,对数据库数据的操作等。从以往的系统开发事例可以发现用jsp技术可以实现以上各种功能。使用该系统的大多数是学校管理系统管理人员和老师,由于他们所接受的高等教育及工作的需要,对他们来说,操作本系统将会十分的简便。系统是基于web的工作界面,管理人员无论通过局域网还是互联网,都能在浏览器中进行有效的管理,用户只需在自己的计算机上通过web浏览器访问本系统,同时所有的操作都是基于web的操作方式,如:链接、按钮、文本框等等。所有的操作通过浏览器完成,客户端不需要配置其他应用软件,用户不需培训,只要稍微提示一下即可。因此,在第 4 页 共 27 页操作使用上,本系统简单、方便,易于使用户接受,因而是十分可行的3。法律可行性由于本系统是在相关法律法规下实施完成的,所以不存在任何法律问题,在法律上是完全可行的。综合考虑经济、技术、操作和法律等方面的因素,该在线考试系统的开发工作可以立即开始进行。第 5 页 共 27 页2 系统应用的关键技术2.1 jsp技术介绍2.1.1 jsp的概述jsp(java server pages)是由sun microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,类似于其他技术标准,如asp,php等,主要用于开发动态网页内容。jsp是新一代的动态内容编程技术,它继承了java技术的“一次编写,随处运行”的特性,允许web开发人员开发和维护与平台无关,信息丰富动态的web页面,包括html,dhtml,xhtml和xml,它能使web开发人员轻易搭建网络平台,建立起功能强大的web网站。jsp可以把用户界面从内容层次中分离出来,使得web开发人员不必修改在底层的动态内容,就可以修改整体的页面布局。2.1.2 jsp的运行机制jsp文档被复制到web服务器的文档目录中。当有人请求这个文档时,服务器识别出这个带有.jsp扩展名的文档,并意识到需要做特殊处理。第一次请求这个文档时,它被编译成一个servlet对象,并存储在内存中,然后输出内容回送给发出请求的用户机。第一请求之后,只要有请求到来,服务器将进行检查,看看这个文件是否做过改动,如果没有变化,服务器调用先前编译过的servlet对象。jsp请求的步骤2如图2.1所示。(1)用户机请求一个jsp页面。(2)jsp引擎编译该jsp成一个servlet。第 6 页 共 27 页web浏览器jsp页面生成的servlet编译的servletweb服务器2第一次编译3第二次编译1请求4响应图2.1 一个jsp的请求步骤(3)生成的servlet被编译并装载。(4)编译的servlet服务请求并把一响应发送回用户机。jsp主要是针对java程序处理不熟悉的人设计的。与servlet相比,jsp有如下两个优势:方便与html混合;在开发、测试方面比servlet方便。2.1.3 jsp的强势与劣势jsp的强势:(1)可移植性。jsp是用java开发的,因此它是可移植的,可以一处编写,随处运行,支持多平台。(2)有效性。jsp的初始化代码仅在web服务器第一次加载时执行一次。一旦加载,在处理一个新的请求时,只须调用一个新的服务方法。与处理每个请求都要全部加载一个完整的可执行程序相比,这是一个相当有效的技术。(3)强大的可伸缩性和可扩充性。它能够在面向对象的语言(java)中进行开发,并可以在现有对象基础上进行扩展,形成新的对象,从而更好地满足用户的需求。(4)多样化和功能强大的开发工具支持。java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。(5)java servlet是一种开发web应用的理想框架。jsp以servlet技术为基础,又在许多方面作了改进。利用跨平台的javabeans组件,jsp为分离处理逻辑与显示样式提供了卓越的解决方案。第 7 页 共 27 页jsp的劣势:(1)为了跨平台的功能,为了极度的伸缩能力,极大的增加了产品的复杂性,java系统中包括jre,jdk,j2ee,ejb等多种产品,这就需要大量的学习和培训才能掌握它们,将它们有效地搭配在一起,灵活地加以运用。(2)java的运行速度快是由于用户将class常驻内存,这样使用的内存空间就比较大。另一方面,它还需要硬盘空间来存储一系列.java文件和.class文件以及对应的版本文件。(3)jsp只有对java相当熟悉的人才能用得很好。(4)jsp程序调试困难。2.1.4 jsp与asp的比较jsp与asp(active server page)两者都是常用的动态网页技术,也都是可以嵌入html中的程序,但两者是有着本质的不同,主要从以下几个方面对其进行比较: (1)web服务器的支持:大多数通用的 web服务器如:apache、netscape和microsoft iis都支持jsp页面,只有微软本身的microsoft iis和personal web server可以支持asp。 (2)平台的支持:jsp具有平台独立性,只要是一般的java程序可以运行的平台,都支持jsp程序。windows平台可以很好的支持asp,但asp对于基于win32逐渐模型的依赖,使得它难于一直到其它平台上。 (3)组件模型:jsp是建立在可重用的、跨平台的组件(如:javabeans、enterprises javabeans 和用户定制的标签库等组件)之上的,而asp使用的是基于win32的com组件模型。 (4)脚本语言:jsp可以使用java编程语言或javascript作为脚本语言,而asp使用vbscript或jscript作为脚本语言。 (5)安全性:jsp使用java安全模型,而asp使用windows nt的安全结构。 (6)与access数据库的连接:jsp使用jdbc建立与access数据库的连接,而asp对access数据库使用data active objects。 (7)用户定制的标签:jsp可以使用用户定制标签库进行扩充,而asp中没有用户定制标签库,asp是不能扩充的3。第 8 页 共 27 页2.2 java组件javabeans2.2.1 什么是javabeansjavabeans事实上有三层含义。首先,javabeans是一种规范,一种在java(包括jsp)中使用可重复使用的java组件的技术规范。其次,javabeans是一个java的类,一般来说,这样的java类将对应于一个独立的.java文件,在绝大多数情况下,这应该是一个public类型的类。最后,当javabeans这样的一个java类在我们的具体的java程序中被示例之后,我们有时也会将这样的一个javabeans的实例称之为javabeans4。2.2.2 jsp与javabeans的关系使用jsp技术,web页面开发人员可以使用html和xml标识来设计和格式化最终页面。使用jsp标识或者小脚本生成页面上的动态内容。生成内容的逻辑被封装在jsp标识和javabeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。核心逻辑封装在标识和beans中,可以方便页面设计者编辑和使用jsp页面。在服务器端,jsp引擎解释jsp标识和小脚本生成所请求的内容(例如,通过访问javabeans组件,使用jdbc技术访问数据库),并且将结果以html(或xml)页面的形式发送回浏览器。绝大多数jsp页面依赖于可重用的跨平台的足见(javabeans或者enterprise javabeans组件)来执行应用程序所要求的复杂的处理。这样的好处是开发人员能够共享和交换执行普通操作的组件,加速了总体开发过程。因此,基于web的较为复杂的应用程序(如jsp开发网站或网上mis),jsp的复杂架构必须由javabeans达成。2.3 关于b/s开发模式b/s 开发模式伴随着internet的迅速发展,计算机技术正在由基于c/s(client/ server)模式的应用系统转变为基于b/s模式的应用系统。过去,网络软件的开发都采用c/s(client)模式,在这种模式下,主要的业务逻辑都集中于用户端程序,因此,必然导致以下问题:a)系统安装、调试、维护和升级困难。由于用户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个用户端分别进行配置,同样,第 9 页 共 27 页在软件升级时也要对用户端分别处理。b)在整个系统中,业务逻辑和用户界面都集中到了用户端,必然会增加安全隐患。b/s模式带来了巨大的好处:a)开发成本及维护成本降低。由于b/s架构管理软件只需要安装在服务器端(server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(server)端完全通过www浏览器实现,极少部分事务逻辑在前端(browser)实现,所有的用户端只有浏览器,网络管理人员只需要做硬件维护。b)良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有用户端请求都是通过dbms来访问数据库,从而大大减少了数据直接暴露的风险。2.4关于struts2.4.1 struts简介struts已逐步越来越多运用于商业软件,是一种非常优秀的j2ee mvc实现方式。struts用java servlet/javaserverpages技术,开发web应用程序的开放源码的framework。2.4.2 struts的主要功能(1) 包含一个controllerservlet,能将用户的请求发送到相应的action对象。(2)jsp自由tag库,并且在controllerservlet中提供关联支持,帮助开发员创建交互式表单应用。(3)提供了一系列实用对象:xml处理、通过javareflectionapis自动处理javabeans属性、国际化的提示和消息。struts项目的目标是为创建java web应用提供一个开放源代framework。struts framework的内核是基于例如java servlets, javabeans, resourcebundles, 和 xml,以及各种 jakarta commons包的标准技术的灵活的控制层。struts提供了它自身的控制器组件,并整合了其他技术,以提供模型和视图。struts已逐步越来越多运用于商业软件,是一种非常优秀的第 10 页 共 27 页j2ee mvc实现方式6。2.4.3 struts工作原理mvc(model-view-controller),是一种常用的设计模式。mvc 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化,mvc可以让整个逻辑很清晰,这种思想和思维和人的思维很接近,很容易被理解。mvc的工作原理如图2.2所示:状态改变模 型封装应用程序状态响应状态查询应用程序功能通知视图改变通知改变视图选择视 图解释模型模型重新请求发送用户输入给控制台允许控制器选择视图控 制 器定义应用程序行为用户动作映射成模型更新选择响应的视图用户请求方法调用事件图2.2 mvc工作原理struts 是mvc的一种实现,它将 servlet和 jsp 标记(属于 j2ee 规范)用作实现的一部分。struts继承了mvc的各项特性,并根据j2ee的特点,做了相应的变化与扩展。struts的工作原理,如图2.3所示:模型业务逻辑控制器actionservletaction控制器actionservlet控制器actionservlet控制器actionservletstrotsconfig.xmljava bean.客户端ie或netscape客户端ie或netscapeejbaction视图jsp控制器actionservlet图2.3 struts工作原理第 11 页 共 27 页(1)controller:在xml文件struts-config.xml中,与之相关联的是controller,在struts中,承担mvc中controller角色的是一个servlet,叫actionservlet。actionservlet是一个通用的控制组件。这个控制组件提供了处理所有发送到struts的http请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是action类的子类)。另外控制组件也负责用相应的请求参数填充 action from(通常称之为frombean),并传给动作类(通常称之为actionbean)。动作类实现核心商业逻辑,它可以访问java bean 或调用ejb。最后动作类把控制权传给后续的jsp文件,后者生成视图。所有这些控制逻辑利用struts-config.xml文件来配置。(2)视图:主要由jsp生成页面完成视图,struts提供丰富的jsp 标签库: html,bean,logic,template等,这有利于分开表现逻辑和程序逻辑。(3)模型:模型以一个或多个java bean的形式存在。这些bean分为三类:action form、action、javabean or ejb。action form通常称之为formbean,封装了来自于client的用户请求信息,如表单信息。action通常称之为actionbean,获取从actionsevlet传来的formbean,取出formbean中的相关信息,并做出相关的处理,一般是调用java bean或ejb等7。 2.5 关于spring2.5.1 spring简介spring是一个开源框架,它由rod johnson创建。它是为了解决企业应用开发的复杂性而创建的。spring使用基本的java bean来完成以前只可能由ejb完成的事情。然而,spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何java应用都可以从spring中受益8。目的:解决企业应用开发的复杂性功能:使用基本的java bean代替ejb,并提供了更多的企业应用功能范围:任何java应用简单来说,spring是一个轻量级的控制反转(ioc)和面向切面(aop)的容器框架。轻量从大小与开销两方面而言spring都是轻量的。完整的spring框架可以在一个大小只有1mb多的jar文件里发布。并且spring所需的处理开销也是第 12 页 共 27 页微不足道的。此外,spring是非侵入式的:典型地,spring应用中的对象不依赖于spring的特定类。 控制反转spring通过一种称作控制反转(ioc)的技术促进了松耦合。当应用了ioc,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为ioc与jndi相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。面向切面spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。 容器spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,spring不应该被混同于传统的重量级的ejb容器,它们经常是庞大与笨重的,难以使用。 框架spring可以将简单的组件配置、组合成为复杂的应用。在spring中,应用对象被声明式地组合,典型地是在一个xml文件里。spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。 所有spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为spring中的各种模块提供了基础支持。 2.5.2 为什么需要spring你可能正在想“spring不过是另外一个的framework”。当已经有许多开放源代码(和专有) j2ee framework时,我们为什么还需要spring framework? spring是独特的,因为若干个原因: 它定位的领域是许多其他流行的framework没有的。spring关注提供一种方法管理你的业务对象。 spring是全面的和模块化的。spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。因此从你的学习中,你可得到最大的价值。例如,你可能选择仅仅使用spring来简单化jdbc的使用,或用来第 13 页 共 27 页管理所有的业务对象。 它的设计从底部帮助你编写易于测试的代码。spring是用于测试驱动工程的理想的framework。 spring对你的工程来说,它不需要一个以上的framework。spring是潜在地一站式解决方案,定位于与典型应用相关的大部分基础结构。它也涉及到其他framework没有考虑到的内容。 2.5.3 spring带给我们什么方便解耦,简化开发通过spring提供的ioc容器,我们可以将对象之间的依赖关系交由spring进行控制,避免硬编码所造成的过度程序耦合。有了spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。aop编程的支持通过spring提供的aop功能,方便进行面向切面的编程,许多不容易用传统oop实现的功能可以通过aop轻松应付。声明式事务的支持在spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。方便程序的测试可以用非容器依赖的编程方式进行几乎所有的测试工作,在spring里,测试不再是昂贵的操作,而是随手可做的事情。方便集成各种优秀框架spring不排斥各种优秀的开源框架,相反,spring可以降低各种框架的使用难度,spring提供了对各种优秀框架(如struts,hibernate、hession、quartz)等的直接支持。降低java ee api的使用难度spring对很多难用的java ee api(如jdbc,javamail,远程调用等)提供了一个薄薄的封装层,通过spring的简易封装,这些java ee api的使用难度大为降低。java 源码是经典学习范例第 14 页 共 27 页spring的源码设计精妙、结构清晰、匠心独用,处处体现着大师对java设计模式灵活运用以及对java技术的高深造诣。spring框架源码无疑是java技术的最佳实践范例。如果想在短时间内迅速提高自己的java技术水平和应用开发水平,学习和研究spring源码将会使你收到意想不到的效果9。2.6 tomcat服务器2.6.1 tomcat 服务器简介tomcat是一个免费的开源的serlvet容器,它是apache基金会的jakarta项目中的一个核心项目,由apache,sun和其它一些公司及个人共同开发而成。由于有了sun的参与和支持,最新的servlet和jsp规范总能在tomcat中得到体现。tomcat中采用了servlet容器:catalina,完整的实现了servlet2.3和jsp1.2规范。tomcat提供了各种平台的版本供下载,可以从其官方网站上下载其源代码版或者二进制版。由于java具有跨平台特性,所以基于java的tomcat也具有跨平台性。2.6.2 tomcat的特点在tomcat中,应用程序的部署很简单,你只需将你的war放到tomcat的webapp目录下,tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的jsp时,通常第一次会很慢,因为tomcat要将jsp转化为servlet文件,然后编译。编译以后,访问将会很快。另外tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于ftp,你可以在远程通过web部署和撤销应用。当然本地也可以。2.6.3 tomcat的优势tomcat不仅仅是一个servlet容器,它也具有传统的web服务器的功能:处理html页面。但是与apache相比,它的处理静态html的能力就不如apache.我们可以将tomcat和apache集成到一块,让apache处理静态html,而tomcat处理jsp和servlet.这种集成只需要修改一下apache和tomcat的配置文件即可。2.6.4 tomcat服务器的安装和配置在开始安装之前,先准备j2sdk和tomcat两个软件,如果已经安装了j2sdk,就只需tomcat即可。(1)需设置的环境变量第 15 页 共 27 页变量名:catalina_home 变量值:d:program filestomcat6.0 变量名:classpath变量值:.;%java_home%lib;%catalina_home%commonlib (2)安装完成后,打开tomcat服务器,启动浏览器,在地址栏上输入:http:/localhost:8080/ 若出现以下界面说明安装成功14。图2.4 tomcat启动页面第 16 页 共 27 页3 系统设计3.1 系统功能需求图3.1 系统功能模块如图3.1所示,在本系统中主要阐述用户管理、考试管理、试卷管理和成绩查询四个模块。(1)试题管理:实现试题的添加、修改和删除。(2)试卷管理:实现生成试卷、删除试卷和查看试卷等功能。(3)成绩管理:实现后台管理员对成绩的查询和删除。(4)用户管理:实现用户添加、用户信息修改、用户查询功能。3.2 系统角色及其功能分析3.2.1 系统的2个角色:(1)学生(2)管理员3.2.2 系统角色的功能(1)学生使用系统的功能,必须先由管理员把用户添加进来,学生具有以下功能:登录,第 17 页 共 27 页退出,参加考试,提交试卷,查询成绩。(2)管理员管理员可以对试题属性进行设置、对用户资料的查看,删除等,以及对成绩的查询等3.3 总体设计思想概述本系统是基于b/s架构下的多层结构应用系统。b/s(browser/server)结构即浏览器和服务器架构。它是随着internet技术的兴起,对c/s结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过www浏览器来实现,极少部分事务逻辑在前端(browser)实现,但是主要事务逻辑在服务器端(server)实现,形成所谓三层3-tier结构。这样就大大简化了用户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(tco)15。 在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。推荐的分层式结构一般分为三层,从下至上分别为:数据访问(持久)层、业务逻辑层(或称为领域层)、表示层。如图3.2:presentation logicbusiness logicpersistent logicdata 图3.2 系统架构第 18 页 共 27 页总的来说,采用分层结构的设计思想,可以让每个层由一组相关的类或组件构成,共同完成特定的功能。层与层之间存在自上而下的依赖关系,上层组件会依赖下层组件的api,而下层组件则不依赖于上层组件。例如:表述层依赖于业务逻辑层,而业务逻辑层依赖于数据库层。并且每个层对对上层公开api,但具体的实现细节对外透明。当某一层发生变化,只要api不变,不会影响其他层的实现。在本系统中,使用oracle数据库,持久层用到spring所集成的hibernate技术,业务逻辑层用普通javabean实现,表述层运用基于struts的mvc设计模式(struts用来做c层,spring实现v层与c层的解耦以及c层与m层的解耦)。3.4 数据库设计3.4.1 e-r图下面是该系统数据库表的e-r图,如图3.3tikuvc_idvarchar(50) vc_titlevarchar(2000)vc_answer1varchar(2000)vc_answer2varchar(2000)vc_answer3varchar(2000)vc_answer4varchar(2000)n_rightintvc_del&falgintpersonvc_idvarchar(50) vc_namevarchar(50)vc_log_nam
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健康打卡素材
- 员工考勤制度执行情况检查与整改通知函3篇
- 2026年抗肿瘤药物知识培训试题附答案
- 2026年河南信阳事业单位联考《公共基础知识》试题附答案
- 曲靖市麒麟区2025年消防设备操作员考试试题含答案
- 2026年产科正常分娩培训试题附答案
- 2026年税务系统遴选半结构化面试练习题解析附解析含答案
- 2026年社区预防接种上岗考试参考题库(含答案)
- 2026年重症三基综合高阶试题及答案
- 2026年名贵钟表鉴定师测试考核试卷及答案
- 编制外工作人员招聘报名表
- 海外项目施工现场HSE指南 中英文
- GB/Z 44071-2024液压传动连接软管总成操作规程
- JT-T-1378-2021挖泥船水下泥泵
- 食堂餐饮服务投标方案(技术标)
- 中国二手车出口国别指南2022
- OpenVPN下载、安装、配置及使用详解
- 功率电流配线表
- GB/T 3216-2016回转动力泵水力性能验收试验1级、2级和3级
- 鲁迅(《伤逝》)赏析
- 农学概论-作物生产技术-课件
评论
0/150
提交评论