远程考试系统的主要技术分析
2009-07-05周振波
[摘要]系统采用B/S模式,使用Java开发平台eclipse+Tomcat+MYSQL开发,使用Java集合框架以及I/O流等。数据库采用MYSQL Server使用Tomcat的连接池技术进行连接。
[关键词]网络考试Java数据库
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)1220030-01
近年来信息科学技术取得了跳跃性发展,随着我国的网络基础建设的不断完善和高速因特网用户数量的大量增加,远程辅助教学实现的条件已经成熟。远程考试作为当今教育界的热点一直得到了众多教育界人士的推崇和赞誉。
一、主要技术分析
MVC系统架构。MVC模式主要由3个部分组成:模型、视图和控制器。它可以用JavaBean和EJB等组件技术来处理数据库的访问。模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 MVC模式的处理过程:首先由控制器接收用户的请求并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图返回数据,并通过表达层呈现给用户。
Servlet。Servlet有以下优点:可移植性。Servlet皆是利用Java语言来开发的,延续Java在跨平台上的表现,不论Server的操作系统是Windows、Solaris、Linux、HP-UX、FreeBSD、CompaqTru64、AIX等等,都能够将我们写好的Servlet程序放在这些操作系统上执行。借助Servlet的优势,就可以真正达到“Write Once,Serve Anywhere”的境界。强大的功能。Servlet能够完全发挥JavaAPI的威力,包括网络和URL存取、多线程、影像处理、RMI、分布式服务器组件、对象序列化等。若想写个网络目录查询程序,则可利用JNDI API;想连接数据库,则可利用JDBC,有这些强大功能的API做后盾,相信Servlet更能够发挥其优势。性能。Servlet在加载执行之后,其对象实体通常会一直停留在Server的内存中,若有请求发生时,服务器再调用Servlet来服务,假若收到相同服务的请求时,Servlet会利用不同的线程来处理,不像CGI程序必须产生许多进程来处理数据。在性能的表现上,大大超越以往撰写的CGI程序。最后补充一点,那就是Servlet在执行时,不是一直停留在内存中,服务器会自动将停留时间过长一直没有执行的Servlet从内存中移除,不过有时候也可以自行写程序来控制。至于停留时间的长短通常和选用的服务器有关。安全性。Servlet也有类型检查的特性,并且利用Java的垃圾收集与没有指针的设计,使得Servlet避免内存管理的问题。由于在Java的异常处理机制下,Servlet能够安全地处理各种错误,不会因为发生程序上逻辑错误而导致整体服务器系统的毁灭。JavaBean组件。JavaBean是一个可重复使用、且跨平台的软件组件。一般而言,JavaBean可分为:有用户接口(UI,User Interface)的JavaBean和没有用户接口的JavaBean。通常JSP是搭配没有UI的JavaBean。一个标准的JavaBean有如下几项特性:JavaBean是一个公开的类;JavaBean类必须有一个无传入参数的构造函数;取得或设定属性时,必须使用getXXX方法或setXXX方法。JSP搭配JavaBean来使用有以下优点:可将HTML和Java程序分离,为了日后维护的方便。
二、系统使用服务器平台和系统环境建立
Tomcat简介:Tomcat是Apache Jakarta的子项目之一,是Sun公司推荐的JSP、Servlet容器。Tomcat提供了数据库连接池、SSL、Proxy等许多通用组件功能。在使用开发基于数据库的WEB程序时,传统的模式基本是按以下步骤:在主程序(如Servlet、Beans)中建立数据库连接。进行SQL操作,取出数据。断开数据库连接。使用这种模式开发,存在很多问题。首先,我们要为每一次WEB请求(例如察看某一篇文章的内容)建立一次数据库连接,对于一次或几次操作来讲,或许觉察不到系统的开销,但是,对于WEB程序来讲,即使在某一较短的时间段内,其操作请求数也远远不是一两次,而是数十上百次,在这种情况下,系统开销是相当大的。事实上,在一个基于数据库的WEB系统中,建立数据库连接的操作将是系统中代价最大的操作之一。很多时候,可能网站速度瓶颈就在于此。针对以上问题,首先想到可以采用一个全局的Connection对象,创建后就不关闭,以后程序一直使用它,这样就不存在每次创建、关闭连接的问题了。但是,同一个连接使用次数过多,将会导致连接的不稳定,进而会导致WEB SERVER的频频重启。故而,这种方法也不可取。实际上,可以使用连接池技术来解决上述问题。连接池最基本的思想就是预先建立一些连接放置于内存对象中以备使用。当程序中需要建立数据库连接时,只须从内存中取一个来用而不用新建。同样,使用完毕后,只需放回内存即可。而连接的建立、断开都由连接池自身来管理。同时,我们还可以通过设置连接池的参数来控制连接池中的连接数、每个连接的最大使用次数等等。通过使用连接池,将大大提高程序效率,同时,我们可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。
系统环境的建立:该系统可跨平台运行于各种操作系统之上,现以windows 2003 Server为例来说明系统的搭建过程。服务器搭建,系统采用Apache作为Web服务器,采用Tomcat作为JSP服务器。然后将二者结合。首先安装Tomcat5.0版,安装完成后将%JAVAHOME%/lib/tools.jar拷贝到%TomcatHome%/common/lin/目录下。在浏览器中键入:http://127.0.0.1:
8080,如出现欢迎界面如图,则说明Tomcat以启动并正常工作。其次安装Apache_2.0.47-win32-x86-no_ssl.msi。然后测试:在浏览器中键入:http://127.0.0.1,如出现欢迎界面则web服务器成功启动并运行正常。最后为两者的结合。重新启动Apache,然后测试连接,在浏览器中键入http://127.0.0.1/index.jsp,如出现Tomcat欢迎界面则说明二者连接成功。数据库搭建系统采用开源的数据库管理系统MySQL4.0.16作为数据库服务器,首先安装MySQL4.0.16,安装完成后进入%mysqlhome%/bin/下,然后运行winmysqladmin启动MySQL服务器,然后进入mysql,最后修改root密码。mysql>update user set password=PASSWORD(‘1234) where user =‘root;mysql>flush privileges;然后以数据库连接池的方式与系统建立连接。虚拟主机及数据库连接池的建立,在%TOMCATHOME%/confserver.
Xml中加入配置代码即可建立虚拟主机及数据库连接池。
作者简介:
周振波(1970-),汉族,吉林磐石市人,工程师,研究方向:网络安全。