一、 作者介绍
¨ 开发小组:东北大学软件学院“昆宇程序设计小组”。
二、 系统目标:
未来的几年内手机的普及率会进一步增大,对于手机消费来说,学生群体所占的比例相当大,构建学生信息发布系统的目的就是在校园内为学生提供一个方便快捷的教学信息获取方式。J2ME学生网上信息发布系统的设计目标是建立部署在手机上的应用程序,通过该应用程序可以连接Internet服务器,与后台数据库通信,获取信息。
三、 系统实现的功能:
(1) 学生通过部署在手机上的J2ME程序与服务器进行连接。学生在主菜单下可以选择相关功能。系统的主要功能是选课,此外还有查询成绩、查询课表、浏览学院最新信息、修改个人信息等。
(2) 学生首先输入学号和密码登录服务器,后台服务器与学生数据库连接,对接收的密码进行验证,同时判断此学生是否已经进行了选课,选了哪些课。验证成功后可以进入选课界面,否则针对不同情况提示错误信息。
(3) 在选课界面中显示课程的名称、上课时间、上课地点、教师、已选人数、最大人数等课程相关信息。学生根据具体情况自由选择。
(4) 学生选完课之后点选提交按钮。一些基本信息(如最多可选多少门课程、课程人数是否已满)将在客户端进行验证。本地验证通过后将信息发送到服务器。服务器接收信息并进行验证,服务端验证通过后将信息保存到数据库,并返回选课成功或失败,若选课失败将提示失败原因。
(5) 学生在登陆系统之后可查询自己的选课结果。
(6) 学生可以查询自己的所有科目的成绩,可以按学期分别查询。
(7) 学生还可以查询课表。由于课表是公开信息,系统不对查询课表进行身份验证,学生可以查询系统中已有的任何班级的课表。
四、 技术分析
ü 开发环境:Eclipse 3.0 + IBM WebSphere 5.1
ü J2ME编译环境:J2ME Wireless Toolkit 2.2
ü J2EE服务器:Tomcat 5.0
ü 数据库:IBM DB2 8.1
ü 使用的语言:JAVA,XML(用于Tomcat服务器部署)
系统为C/S(客户端/服务器)结构。采用的是J2ME与J2EE相结合的方式,用J2EE开发后台服务器,在后台进行数据的处理。用J2ME在移动设备上实现客户端,显示内容。服务器在servlet中实现数据处理逻辑,通过JDBC实现与后台DB2数据库的连接与操作。用J2ME技术开发客户端的界面及信息的接收、简单的处理功能,部署在支持JAVA的移动设备上(需要有GPRS上网功能)。
前台与后台的通信,使用MIDP2.0中定义的通用连接包(GCF)进行连接,包含了通用的几种连接模式(HTTP、HTTPS等)。实际中我们用HTTP协议进行连接。数据的传输采用的是数据流的形式,前台与后台统一采用DataStream流,通过UTF编码来进行数据的传输。
实现连接与传输的代码如下:
HttpConnection connection = (HttpConnection) Connector.open(requestURL, Connector.READ_WRITE, true); //建立连接
OutputStream os = connection.openOutputStream(); //打开输出流
DataOutputStream dos = new DataOutputStream(os);
dos.writeInt(int_a); //写数据
dos.WriteUTF(str_a);
InputStream is = connection.openInputStream(); //打开输入流
DataInputStream dis = new DataInputStream(is);
int a=dis.ReadInt(); //读数据
String s=new String(dis.ReadUTF());
另外,为了方便错误的处理,我们在客户端与服务端之间定义了一系列的错误代码。通过统一的代码来表示一系列的错误。这样做的好处是:通过传递整型数据而不是具体字符串,减少了数据的传输量,提高了网络的使用效率。
数据库设计:
数据表 | 字段 |
学生信息 | 学号、密码 |
可选课程 | 课号、课程名称、时间、地点、教师、已选人数、最大人数 |
选课信息 | 学号、课号。 |
课程表 | 课表ID、班级、一周的课程 |
发布信息 | 信息ID、标题、分类、详细信息 |
在服务器里,我们把调用JDBC对每个数据表的操作都封装为单独的一个类,方便统一处理。服务器内部层次结构为:Servlet->JDBC->数据库。每当Servlet接收到客户端请求,需要访问数据库时,就调用相应的类,该类访问数据库并返回一个结果集,表示查询、更新的结果,servlet处理此结果并返回给客户端。
五、 作品的价值
(1) 本系统的开发改善了长期以来学生在选课问题上的信息沟通难的问题,方便学生在任何时候任何地点都可以进行选课和获取其它教学信息。因此系统在校园内有很大的实用前景。
(2) 项目运用了目前较新的J2ME技术,是对新技术的一次大胆尝试。
(3) 未来的移动电子商务将是电子商务领域的一个非常大的增长点,其到底会发展成什么样子现在还不可预知。本系统体现了目前比较流行的移动电子商务的设计模式。很多领域,如银行、金融、税务等领域业务的移动化都可以依此模型来设计,适应性、可扩展性较强。
以下是系统的运行界面: