超小型在线评测系统的设计与实现
2018-06-13黄金春杜娟娇
现代计算机 2018年13期
黄金春,杜娟娇
(1.广西中医药大学图书馆信息技术部,南宁 530021;2.广西中医药大学第一附属医院教学部,南宁 530001)
0 引言
随着社会的高度发展,信息技术应用到了社会生活的方方面面,也促使更多的学生投身到信息技术开发的工作中,而程序设计能力作为最重要的开发能力,也日益成为了各个专业学生的学习要求。提高程序设计的能力需要大量的编程实践练习,因此很多学校都开发了源代码在线评测系统(Online Judge下称OJ系统)以用来提高学生的程序设计水平。但传统的OJ系统都比较庞大,需要安装Web服务器还需要安装数据库服务器,非常不方便在日常的教学中使用,本文提出一种不需要搭建Web服务器也不需要搭建数据库服务器的超小型OJ系统,并具体论述系统的实现。
1 系统基本架构
超小型OJ系统虽然不需要Web服务器以及数据库服务器,但是同样实现Web服务和数据库服务功能。系统Web功能基于Java的HTTP Server API开发,这些API主要实现了HTTP协议,HTTP协议是最为流行的网络协议由请求与应答协议构成,最主要使用是HttpServer类、HttpHandle接口。HttpServer类实例实现监听客户端的请求,然后HttpServer会调用HttpHandler接口实现类的回调方法来处理客户端请求。数据库功能采用Sqlite3系统来实现,该数据库非常小巧,仅为一个文件,复制这个文件即可使用。
2 系统实现
2.1 建立监听,区分请求
在OJ系统中主要存在两种请求,分别为题目请求(显示题目以及提供写程序的表单)和程序提交请求(完成对提交的程序进行编译、运行、检测运行结果等工作)。……
登录APP查看全文
