加强高校师生交流问题一直是高等教育中亟待解决的问题,近年来随着高校扩招的规模越来越大,高校师生比例从原来的1/14发展到1/40,前不久一项在全国范围内展开的针对师生沟通情况进行的抽样调查显示:54.8%的学生认为在课堂上发言机会少,80.6%以上的学生不会也不敢提任何具有挑战性的问题,80%的学生认为教师往往以知识传授者和答案给予者的身份出现,不利与师生间的交流。66.9%的老师和43.6%的学生都认为办公室不是一个良好的沟通环境。通过电话、电子邮箱等方式,学生所提问题则会过于零散、重复,造成老师的工作量大且过于繁琐,而论坛、贴吧等平台则不能保证其答案的正确性与专业性。
由此可知:高校课堂交互性较低;目前,国内还没有或还未普及利用JSP技术实现的专门为高校师生提供交互服务的网络信息系统,笔者就基于JSP技术的高校师生交互系统的分析、设计及实现进行了探讨。
1 开发技术及工具
针对目前世界上流行的主流软件和开发工具,经过认真分析其优缺点,结合交互系统的需要和目前的软硬件环境,我们选用Java编程语言,软件开发工具选用Eclipse,数据库为MySQL,并使用Navicat作为数据库管理工具。
JSP技术简介:JSP (Java Server page) 技术是由Sun公司推出的使用Java代码动态生成HTMI 文档的技术,它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件。JSP不仅拥有跨平台和跨web服务器支持,并且将服务器端Java技术的功能与静态HTML网页的功能有效地结合了起来。
系统采用B/S结构。在B/S体系结构系统中,用户通过浏览器向分布在网络上的服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器上。B/S模式使开发人员能按需要选择各种各样的软件和工具来实现各种应用和服务,并把注意力从用户界面等细节问题转移到核心问题方面。
采用上述这样的机制保证了动态网站的快速开发,实现了高校教育资源的共享,为广大教育工作者及同学们提供了极大的方便。
2 高校师生交互系统的功能分析
2.1 系统用户及大致模块划分
系统分为3种角色提供使用,分别是:管理员,教师和学生。
主要模块分为:提问模块,登陆及注册模块,最新待答问题模块,排行榜(热门问题及最受欢迎老师)模块,问题检索模块,用户中心(个人信息管理)模块。
2.2 系统核心功能分析
学生用户登录后,可按学科、科目查看热门问题排行榜或提出自己问题,在输入问题过程中系统自动搜索关键字并自动弹出下拉菜单提示已有相似问题,学生若认为此问题可等同于自己所要提出的问题,则可选择此问题进行重复提问即增加问题热度,以此来提高提问速度,若没有可替代问题,则系统存档,等待教师回答。当学生查看已答问题时,可对回答老师进行支持,系统会记录学生支持数,对最受欢迎教师排行予以更新。
教师登录后,按教师个人信息,有选择性的显示待答问题,教师也可自行查找未回答的问题并予以解答。当教师发现有若干问题可合并或替代,则可将它们归为一题,系统会自动发邮件通知问题被合并替代的学生。
管理员拥有最高权限,可对所有学生及教师用户进行管理,可对所有问题进行查看、修改和删除操作。
3 高校师生交互系统的设计及实现
3.1 数据库设计
根据高校教学中常见的问题属性和身份属性,划分出的4类信息,创建4个数据库表。
分别列出如下,其中主码用下划线标出。
教师用户信息表(TUN varchar(15) primary key, Tname varchar(15) not null, password varchar(15) not null, email varchar(30) not null, Tinf varchar(500) not null, hot int default 0,)
学生用户信息表(SUN varchar(15) primary key, Sname varchar(15) not null, password varchar(15) not null, email varchar(30) not null,)
问题表(Pid int auto_increment primary key, Ptitle varchar(30) not null, Pdescribe varchar(100) not null, answer varchar(1000) default '尚未回答,请耐心等候', keyword varchar(30) not null, SUN varchar(15) not null, TUN varchar(15) not null, isans int, count int default 0, askDate date not null, FOREIGN KEY (SUN) REFERENCES stu(SUN), FOREIGN KEY (TUN) REFERENCES teacher(TUN),)
管理员信息表(AUN varchar(15) primary key, password varchar(15) not null,)
其中教师用户姓名(TUN)和学生用户姓名(SUN)作为问题列表的外码,当该问题相关学生或老师不存在时,则相应的删除该问题。
3.2 数据库访问部分核心代码
连接数据库部分是JSP系统中极为重要的一部分,该系统采用JDBC将JSP程序与MYSQL数据库作连接。部分代码如下:
String rl="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPwd;
Class.forName(driverName).newInstance();
java.sql.Connection conn=DriverManager.getConnection(url);
Statement smt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs;
String sql;%>
3.3 系统前台部分代码
系统前台采用CSS样式表,对系统界面做出统一美观的管理,按功能不同对页面中不同的不同模块区域分别设置CSS样式表。其中列举部分主页的问题显示模块,代码如下:
sql="SELECT *FROM problem";
rs=smt.executeQuery(sql);
while(rs.next()){%>