1.1 课题目的和意义
现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷,考生考试,人工阅卷,成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观、更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。为了适应新形势的发展,我们推出了这一系统,使其尽快在各类考试中发挥高效,便捷的作用,把老师从繁重的工作中解脱出来。
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-1所示。 (1)用户机请求一个JSP页面。 (2)JSP引擎编译该JSP成一个servlet。
Web服务器 JSP页面 Web 浏览器 1.请求 2.第一次编译 生成的servlet 3.第二次编译 编译的servlet 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为分离处理逻辑与显示样式提供了卓越的解决方案。 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是不能扩充的[。
2.2 Java组件JavaBeans 2.2.1 什么是JavaBeans
JavaBeans事实上有三层含义。首先,JavaBeans是一种规范,一种在Java(包括JSP)中使用可重复使用的Java组件的技术规范。其次,JavaBeans是一个Java的类,一般来说,这样的Java类将对应于一个独立的.java文件,在绝大多数情况下,这应该是一个public类型的类。最后,当JavaBeans这样的一个Java类在我们的具体的Java程序中被示例之后,我们有时也会将这样的一个JavaBeans的实例称之为JavaBeans。
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 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的目的是为了克服传统