已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河北xxxx毕业论文基于java的网上考试系统java-based online examination system院 系:信息科学与工程学院专 业:计算机科学与技术班 级:2010级2 班姓 名:xxxxx学 号:2010899791指导教师:xxxx日期:2014年6月目录摘要4abstract4第一章 绪论61.1 课题背景61.2 系统分析6第二章 系统应用的关键技术72.1 html概述72.2 css(层叠样式表)82.3 jsp简介82.3.1 jsp的运行机制92.3.2 jsp的优势92.3.3 什么是javabeans102.4 j2ee概述102.5 mvc设计模式122.5.1 mvc设计模式概念122.5.2 采用mvc设计模式优势122.5.3 mvc设计模式原理132.6关于struts132.6.1 struts简介132.6.2 struts的主要功能132.6.3 struts工作原理142.7 关于spring152.7.1 spring简介152.7.2 为什么需要spring162.7.3 spring带给我们什么172.8 mysql数据库182.9 tomcat服务器182.9.1 tomcat 服务器简介182.9.2 tomcat的特点182.9.3 tomcat的优势19第三章 系统需求分析与设计193.1 系统总体目标和需要解决的问题193.2系统总体结构193.3系统总流程图203.4系统主要数据库表设计213.5 数据库部分表22第四章 系统的详细设计与实现244.1 系统的开发及测试环境254.2 系统主要功能模块及源码254.2.1 登录界面254.2.2 学生考试界面334.2.3 教师管理页面354.2.4 管理员管理界面384.3 系统的测试41第五章 总结与思考415.1 工作小结415.2 完成后的思考42附录42参考文献44致 谢45 摘要21世纪是一个信息高速发展的时代,随着网络技术的发展及计算机的日益普及,现代远程教育作为一种新的教学手段已经开始进入我们的生活,给传统的教育模式带来新的变革,并对教育的发展形成了新的助力,而作为远程教育关键环节之一的在线考试也逐渐成为了一个重要的研究领域。在线考试具有的智能化、自动化、高效化、科学化等诸多优势,也使其成为传统教育考试发展的必然趋势。远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育。本毕业设计的内容是设计并且实现一个基于web技术的在线考试系统,故而系统主要以j2ee作为开发基础,主要使用了spring mvc等多种协议或技术,用eclipse作为开发工具,以mysql作为数据库,以macromedia公司的dreamweaver作为界面美化工具。基本实现了网上考试系统应有的主要功能模块,包括:管理员的登录,管理和维护;学生注册、登录、注销,个人信息的查询、修改;老师考试管理,试题录入,成绩管理。该系统界面简单、操作方便,容易维护。关键词:在线考试 j2ee spring mvcabstracttodays society is a society in an era of the knowledge economy. with the increasing popularity of network technology development and computers, modern distance education as a new teaching methods have begun to enter our lives, to the traditional mode of education has brought a new revolution, development and education to promote the formation of a new force, and as one of the key aspects of distance education online exam is becoming an important area of research. meanwhile, the online exam with intelligent, automated, efficient, scientific, and many other advantages, it also has become an inevitable trend in the development of traditional education exam.distance education, including many areas, such as education systems, answering system and examination systems. one very important aspect is the online examination system, it is also the most difficult to achieve link. online examination system to achieve paperless management of examinations, the examination of some subjects through the internet or lan, to facilitate the management of the school examination, candidates are also convenient, especially for candidates widely distributed, easy to focus on distance education .the contents of this graduation project is to design and implement a web-based technology, online examination system, therefore the system as a development base mainly j2ee, the main use of spring mvc, and other agreements or technology, using eclipse as a development tool to mysql as a database, with macromedias dreamweaver as an interface landscaping tools. the basic realization of the main functions of the module online examination system should include: administrator login, management and maintenance; student registration, login, logout, access to personal information, modify; teacher test management, test entry, performance management. the system interface is simple and easy to operate, easy to maintain.keyword:online examination,j2ee spring mvc第一章 绪论1.1 课题背景信息化时代的到来,使学校传统的管理方法和办学水平都受到了极大的挑战;internet技术持续迅猛的发展,给传统的办学模式提出了新的要求。数据库技术是一门历史弥坚的学科,不像其它的计算机技术会随着时间的推移而变得越来越没有声息。考虑其原因,则是因为信息的爆炸对数据库技术的要求只增不减。在互联网日益发展、壮大的背景下,在因特网普及浪潮持续高涨的情况下,如何让原来在单机中使用的数据库可供多机使用,也成为必然的趋势。绝大部分大学和学院都已接入互联网并建成校园网,各校的硬件设施已经比较完善。通过设计和建设网络拓扑架构、网络安全系统、数据库基础结构、信息共享与管理、信息的发布与管理,从而方便管理者、老师和学生间信息发布、信息交流和信息共享。以现代计算技术、网络技术为基础的数字化教学主要是朝着信息化、网络化、现代化的目标迈进。与网络技术相结合的新型办学模式具有对于教育、教学过程来说极为宝贵的特性,可以为新型办学模式的建构提供理想的环境。在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试系统可以使用户在网上学习过后及时检测自己的学习效果,以发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的评定等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。网上考试系统具有智能化、自动化、高效化、科学化等诸多优势,具有广阔的发展前景。1.2 系统分析经调查分析,在线考试系统具有降低考试的成本,解决繁重的考务工作等优点。它可以免去教师大量的临考工作,试卷可以根据题库中的内容即时生成;教师也无须去做考后的阅卷、统计、分析工作,计算机可以自动判卷,直接把成绩送到数据库中进行统计、排序、汇总。实现无纸化考试。同时,试卷是随机组成的,不存在试卷的泄密和考试作弊问题,使考试的公平性、答案的安全性得到有效的保证。基于web的高级语言程序设计考试系统能有效地改变传统的高级程序设计考试带来的效率低、教师工作量大和教学资源浪费等问题。采用在线考试系统将逐步成为今后考试改革乃至教育发展的趋势。采用jsp作为前台开发技术,数据库访问组件ado进行数据库访问,从而完成考试系统的设计与开发任务,系统具有良好的稳定性、易扩展及较强的应用价值。第二章 系统应用的关键技术2.1 html概述html(hypertext markup language/超文本标记语言),产生于1990年,并成为国际标准(international standard organization,iso)文件sgml的一员。html是一种纯文本(或称为asc)文件,可以用任何文字编辑软件来建立,并能通过http(hypertext transfer protocol)超文本传输协议,在全球信息网(world wide web/www )上跨平台流通。简言之,html是通过各式各样的卷标在文件中描述多媒体信息的。目前,只要拥有诸如mosaic、netscape、microsoft internet explore等www的浏览器(browser),就能轻易借助internet来漫游全球多媒体信息。一个典型的html文件应该有如下的结构:标题 正文. 其中,与这对标记是声明一个html文件的开始与结束,可以忽略;与声明html文件的开头部分(可忽略);与之间的文字将显示在浏览器上方的标题栏中;与是声明html的正文部分。这些标记都是成双成对的,有起始标记和结束标记,差别只是在于结束标记多了斜线(/)符号。在html文件中,也有单一出现者,例如:换行标记、画线标记等;此外,html文件的标记不区分大小写,如:、都具有相同的作用。成双成对出现的标记中,开头标记及结束标记之间形成一块区域,区域里又包含另外一些区域,如上述示例中和标记所形成的区域内可以加入其它的标记,如和;而与之中又可加入“标题”,在开头标记及结束标记间的标题文字则出现在浏览器的标题栏上。这类标记不可错位,其示意图如图2.1所示:由图2.1可知,所有成对的标记在画线时都不会有交错的现象,如果有交错则可能有不正常的显示。在html语法中除了“标记”之外还有一个很重要的组成元素-属性。由于标记的数量有限,因此在标记中加入属性以描述不同的显示行为,例如:对于标记就有alink(指定超链接文字被选取时的颜色)、background(指定背景图文件)、bgcolor(设置网页的背景颜色)等属性。 标题 正文 图2.1 使用html标记时的顺序示意图2.2 css(层叠样式表)利用css来设计网页界面,既方便又好看,统一的模式给人整齐感,不会有杂乱的感觉,而且也适合浏览。(1)css基本语法 。选择符,任何html元素都可以是一个css的选择符。选择符仅是指向特别样式的元素。例如,选择符 标志属性:属性值;标志属性:属性值; 。类选择符,单一选择符能有不同的class(类),因而允许同一元素有不同样式。类的声明也可以无须相关的元素,那该类可用于任何元素。(2)伪类和伪元素。伪类和伪元素是特殊的类和元素,能自动地被支持css的浏览器所识别。伪类区别开不同种类的元素,例如,visited links(已访问的连接)和active links(可激活连接)描述了两个定位锚(anchors)的类型。伪元素指元素的一部分,例如段落的第一个字母。而定位锚元素可给出伪类link、visited或active。一个已访问连接可以定义为不同颜色的显示,甚至不同字体大小和风格。 (3)外部样式表。网站的顶部、左侧和主窗口的网页一致地应用相同样式,需使用外部样式表。在一个外部样式表中定义样式,并将它们链接到所有网页,便能确保所有网页外观的一致性。若我们需要更改样式,只需在外部样式表中作一次更改 ,则该更改就会反映到所有与该样式表相链接的网页上。本系统的外部样式表即为admin.css,style.css。本系统中外部样式表链接举例:2.3 jsp简介jsp(java server pages)是由sun microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,类似于其他技术标准,如asp,php等,主要用于开发动态网页内容。jsp是新一代的动态内容编程技术,它继承了java技术的“一次编写,随处运行”的特性,允许web开发人员开发和维护与平台无关,信息丰富动态的web页面,包括html,dhtml,xhtml和xml,它能使web开发人员轻易搭建网络平台,建立起功能强大的web网站。jsp可以把用户界面从内容层次中分离出来,使得web开发人员不必修改在底层的动态内容,就可以修改整体的页面布局。2.3.1 jsp的运行机制jsp文档被复制到web服务器的文档目录中。当有人请求这个文档时,服务器识别出这个带有.jsp扩展名的文档,并意识到需要做特殊处理。第一次请求这个文档时,它被编译成一个servlet对象,并存储在内存中,然后输出内容回送给发出请求的用户机。第一请求之后,只要有请求到来,服务器将进行检查,看看这个文件是否做过改动,如果没有变化,服务器调用先前编译过的servlet对象。jsp请求的步骤2如图2-1所示。(1)用户机请求一个jsp页面。(2)jsp引擎编译该jsp成一个servlet。web浏览器jsp页面生成的servlet编译的servletweb服务器2第一次编译3第二次编译1请求4响应图2-1 一个jsp的请求步骤(3)生成的servlet被编译并装载。(4)编译的servlet服务请求并把一响应发送回用户机。jsp主要是针对java程序处理不熟悉的人设计的。与servlet相比,jsp有如下两个优势:方便与html混合;在开发、测试方面比servlet方便。2.3.2 jsp的优势jsp的强势:(1)可移植性。jsp是用java开发的,因此它是可移植的,可以一处编写,随处运行,支持多平台。(2)有效性。jsp的初始化代码仅在web服务器第一次加载时执行一次。一旦加载,在处理一个新的请求时,只须调用一个新的服务方法。与处理每个请求都要全部加载一个完整的可执行程序相比,这是一个相当有效的技术。(3)强大的可伸缩性和可扩充性。它能够在面向对象的语言(java)中进行开发,并可以在现有对象基础上进行扩展,形成新的对象,从而更好地满足用户的需求。(4)多样化和功能强大的开发工具支持。java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。(5)java servlet是一种开发web应用的理想框架。jsp以servlet技术为基础,又在许多方面作了改进。利用跨平台的javabeans组件,jsp为分离处理逻辑与显示样式提供了卓越的解决方案。2.3.3 什么是javabeansjavabeans事实上有三层含义。首先,javabeans是一种规范,一种在java(包括jsp)中使用可重复使用的java组件的技术规范。其次,javabeans是一个java的类,一般来说,这样的java类将对应于一个独立的.java文件,在绝大多数情况下,这应该是一个public类型的类。最后,当javabeans这样的一个java类在我们的具体的java程序中被示例之后,我们有时也会将这样的一个javabeans的实例称之为javabeans4。使用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.4 j2ee概述 j2ee(java 2 platform enterprise edition)是使用java技术开发企业级应用的一种事实上的工业标准(sun公司出于其自身利益的考虑,至今没有将java及其相关技术纳入标准化组织的体系),它是java技术不断适应和促进企业级应用过程中的产物。目前,java平台有三个版本:适用于小型设备和智能卡的j2me(java 2 platform micro edition)、适用于桌面系统的j2se(java 2 platform standard edition)和适用于企业级应用的j2ee(java 2 platform enterprise edition)。sun推出j2ee的目的是为了克服传统client/server模式的弊病,迎合browser/server架构的潮流,为应用java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。j2ee是一个标准,而不是一个现成的产品。各个平台开发商按照j2ee规范分别开发了不同的j2ee应用服务器,j2ee应用服务器是j2ee企业级应用的部署平台。由于它们都遵循了j2ee规范,因此,使用j2ee技术开发的企业级应用可以部署在各种j2ee应用服务器上。为了推广并规范化使用j2ee架构企业级应用的体系架构,sun同时给出了一个建议性的j2ee应用设计模型:j2ee blueprints。j2ee blueprints提供了实施j2ee企业级应用的体系架构、设计模式和相关的代码,通过应用j2ee blueprints所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。j2ee blueprints是开发人员设计和优化j2ee组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技术资源。 j2ee的优势主要有以下几点:(1)高效的开发: j2ee允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务:状态管理服务 - 让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。(2)持续性服务 : 让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。分布式共享数据对象cache服务,让开发人员编制高性能的系统,极大提高整体部署的伸缩性。(3)支持异构环境: j2ee能够开发部署在异构环境中的可移植程序。基于j2ee的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于j2ee的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。j2ee标准也允许用户订购与j2ee兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。(4)可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新用户。基于j2ee平台的应用程序可被部署到各种操作系统上。例如可被部署到高端unix与大型机系统,这种系统单机可支持64至256个处理器。(这是nt服务器所望尘莫及的)j2ee领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。(5)稳定的可用性: 一个服务器端平台必须能全天候运转以满足公司用户、合作伙伴的需要。这是实时性很强商业系统理想的选择5。2.5 mvc设计模式2.5.1 mvc设计模式概念mvc是一种目前广泛流行的软件设计模式,早在70年代,ibm就推出了sanfronscisico项目计划,其实就是mvc设计模式的研究。近来,随着j2ee的成熟,它正在成为在j2ee平台上推荐的一种设计模型,也是广大java开发者非常感兴趣的设计模型。mvc模式也逐渐在php和coldfusion开发者中运用,并有增长趋势。随着网络应用的快速增加,mvc模式对于web应用的开发无疑是一种非常先进的设计思想,无论你选择哪种语言,无论应用多复杂,它都能为你理解分析应用模型时提供最基本的分析方法,为你构造产品提供清晰的设计框架,为你的软件工程提供规范的依据。mvc设计思想 mvc英文即model-view-controller,即把一个应用的输入、处理、输出流程按照model、view、controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。2.5.2 采用mvc设计模式优势mvc的优点:大部分用过程语言比如asp、php开发出来的web应用,初始的开发模板就是混合层的数据编程。例如,直接向数据库发送请求并用html显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。产品设计弹性力度很小,很难满足用户的变化性需求。mvc要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。 首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。按mvc设计模式,一个订单模型以及多个视图即可解决问题。这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。 其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。 再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动mvc的模型层。控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。 最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。 综合上述,mvc是构筑软件非常好的基本模式,至少将业务处理与显示分离,强迫将应用分为模型、视图以及控制层, 使得你会认真考虑应用的额外复杂性,把这些想法融进到架构中,增加了应用的可拓展性。如果能把握到这一点,mvc模式会使得你的应用更加强壮,更加有弹性,更加个性化。2.5.3 mvc设计模式原理图2-3 mvc设计模式2.6关于struts2.6.1 struts简介struts已逐步越来越多运用于商业软件,是一种非常优秀的j2ee mvc实现方式。struts用java servlet/javaserverpages技术,开发web应用程序的开放源码的framework。2.6.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已逐步越来越多运用于商业软件,是一种非常优秀的j2ee mvc实现方式6。2.6.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所示:图2-3 struts工作原理(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.7 关于spring2.7.1 spring简介spring是一个开源框架,它由rod johnson创建。它是为了解决企业应用开发的复杂性而创建的。spring使用基本的javabean来完成以前只可能由ejb完成的事情。然而,spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何java应用都可以从spring中受益8。目的:解决企业应用开发的复杂性功能:使用基本的javabean代替ejb,并提供了更多的企业应用功能范围:任何java应用简单来说,spring是一个轻量级的控制反转(ioc)和面向切面(aop)的容器框架。轻量从大小与开销两方面而言spring都是轻量的。完整的spring框架可以在一个大小只有1mb多的jar文件里发布。并且spring所需的处理开销也是微不足道的。此外,spring是非侵入式的:典型地,spring应用中的对象不依赖于spring的特定类。 控制反转spring通过一种称作控制反转(ioc)的技术促进了松耦合。当应用了ioc,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为ioc与jndi相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。面向切面spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。 容器spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,spring不应该被混同于传统的重量级的ejb容器,它们经常是庞大与笨重的,难以使用。 框架spring可以将简单的组件配置、组合成为复杂的应用。在spring中,应用对象被声明式地组合,典型地是在一个xml文件里。spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。 所有spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为spring中的各种模块提供了基础支持。 2.7.2 为什么需要spring你可能正在想“spring不过是另外一个的framework”。当已经有许多开放源代码(和专有) j2ee framework时,我们为什么还需要spring framework? spring是独特的,因为若干个原因: 它定位的领域是许多其他流行的framework没有的。spring关注提供一种方法管理你的业务对象。 spring是全面的和模块化的。spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。因此从你的学习中,你可得到最大的价值。例如,你可能选择仅仅使用spring来简单化jdbc的使用,或用来管理所有的业务对象。 它的设计从底部帮助你编写易于测试的代码。spring是用于测试驱动工程的理想的framework。 spring对你的工程来说,它不需要一个以上的framework。spring是潜在地一站式解决方案,定位于与典型应用相关的大部分基础结构。它也涉及到其他framework没有考虑到的内容。 2.7.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 源码是经典学习范例spring的源码设计精妙、结构清晰、匠心独用,处处体现着大师对java设计模式灵活运用以及对java技术的高深造诣。spring框架源码无疑是java技术的最佳实践范例。如果想在短时间内迅速提高自己的java技术水平和应用开发水平,学习和研究spring源码将会使你收到意想不到的效果9。2.8 mysql数据库mysql是一种开放源代码的关系型数据库管理系统(rdbms),mysql数据库系统使用最常用的数据库管理语言-结构化查询语言(sql)进行数据库管理。 由于mysql是开放源代码的,因此任何人都可以在general public license的许可下下载并根据个性化的需要对其进行修改。mysql因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,mysql是管理内容最好的选择。它使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向c、c+、eiffel、java、perl、php、python以及tcl等编程语言的编程接口(apis),支持多种字段类型并且提供了完整的操作符支持查询中的select和where操作。目前mysql被广泛地应用在internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了mysql作为网站数据库11。2.9 tomcat服务器2.9.1 tomcat 服务器简介tomcat是一个免费的开源的serlvet容器,它是apache基金会的jakarta项目中的一个核心项目,由apache,sun和其它一些公司及个人共同开发而成。由于有了sun的参与和支持,最新的servlet和jsp规范总能在tomcat中得到体现。 tomcat中采用了servlet容器:catalina,完整的实现了servlet2.3和jsp1.2规范。tomcat提供了各种平台的版本供下载,可以从其官方网站上下载其源代码版或者二进制版。由于java的跨平台特性,基于java的tomcat也具有跨平台性13。2.9.2 tomcat的特点在tomcat中,应用程序的部署很简单,你只需将你的war放到tomcat的webapp目录下,tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的jsp时,通常第一次会很慢,因为tomcat要将jsp转化为servlet文件,然后编译。编译以后,访问将会很快。另外tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中。通过这个应用,辅助于ftp,你可以在远程通过web部署和撤销应用。当然本地也可以。2.9.3 tomcat的优势tomcat不仅仅是一个servlet容器,它也具有传统的web服务器的功能:处理html页面。但是与apache相比,它的处理静态html的能力就不如apache.我们可以将tomcat和apache集成到一块,让apache处理静态html,而tomcat处理jsp和servlet.这种集成只需要修改一下apache和tomcat的配置文件即可。第三章 系统需求分析与设计3.1 系统总体目标和需要解决的问题本在线考试系统的总体目标,是应用以上技术开发一个能够让教师、学生及系统管理员三种身份的人同时在一个系统中进行在线考试功能的系统,以最简便的方式尽量真实地模拟现实教学过程中的考试过程,同时又要做到操作简便信息冗余度小等要求。本系统在开发过程中存在的问题有如下几个:、如何利用上一章中介绍的技术进行系统的开发,并保证系统能正常稳定地运行; 2、如何在一个系统中使得系统管理员、教师及学生三种完全不同的用户能够互不干扰地进行操作,而后台数据库不受其影响;3、如何保证系统的安全。3.2系统总体结构根据系统需求分析,可得出本系统的总体结构设计图:在线考试系统管理员子系统教师子系统学生子系统系统用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022年山西大学附中高考语文三模试卷
- 2024-2025学年人教版八年级数学上册期末提高试卷(含简单答案)
- 学生会宣传部期末工作总结(30篇)
- 林草生态综合监测技术合同承诺书
- 联合国国际销售合同公约文本
- 离婚协议存款归女方所有的离婚协议范文
- 合同税率变更说明范文
- 合同实务指南
- 激励高三知识课件
- 《捣固研讨会演示》课件
- 2024年PE工程师培训教材-助力工程师成长
- 应用写作-终结性考核-国开(SC)-参考资料
- 2025年慢性阻塞性肺疾病全球创议GOLD指南修订解读课件
- 同步课件1:新时代中国特色社会主义的伟大成就
- GB/T 44143-2024科技人才评价规范
- 世界舞台上的中华文明智慧树知到期末考试答案章节答案2024年重庆大学
- 学校2024-2025年工作计划
- 人文英语4写作
- 广东佛山生育保险待遇申请表
- 室内燃气管道系统安装技术要求
- 《甲状腺功能亢进症》PPT课件
评论
0/150
提交评论