目 录
前 言. 1
第1章 开发工具简介. 2
1.1 Dreamweaver MX 2004 2
1.2 Borland JBuilder9 2
1.3 SQL Sever 2000 2
第2章 相关技术文档. 4
2.1 JSP技术. 4
2.2 APPLET技术. 7
2.2.1 Applet说明:. 7
2.2.2 Applet参数使用方法. 8
2.2.3 Applet基本方法. 8
2.2.4 Applet中的线程. 9
第3章 数据库逻辑结构设计. 10
3.1 用户信息表(tuser). 10
3.2 班级信息表(Tstudentnum). 10
3.3 留言信息表(message). 10
3.4 任课信息表(adds). 10
第4章 系统页面介绍. 12
4.1 登录页面流程图. 12
4.2 系统主要页面详述. 13
4.1.1 登录、注册页面(login.jsp). 13
4.1.2 核实页面(ValidateUser.jsp). 13
4.1.3 验证已登录页面(CheckValid.jsp). 13
4.1.4 学生注册页面(UserInfo.jsp). 14
4.1.5 注册页面提交页面(CheckUserInfo.jsp). 14
4.1.6 学生页面(student.htm). 14
4.1.7 学生选择页面(StudentPage.jsp). 15
4.1.8 教师页面(teacher.htm). 15
4.1.9 教师选择页面(TeacherPage.jsp). 15
4.1.10 管理员页面(admin.htm). 16
4.1.11 管理员选择页面(admin.jsp). 16
4.1.12 显示留言页面(view_message.jsp). 16
4.1.13 留言页面(index.htm). 17
4.1.14 添加留言信息页面(add_message.jsp). 17
4.1.15 上传文件页面(upload.jsp). 17
4.1.16 上传处理页面(doUpload.jsp). 18
4.1.17 下载处理页面(doDownload.jsp). 18
4.1.18 修改密码页面(changecode.jsp). 18
4.1.19 修改密码处理页面(changecode2.jsp). 18
4.1.20 管理任课信息页面(maadds.jsp). 19
4.1.21 任课信息处理页面(maadds2.jsp). 19
4.1.22 删除教师页面(deleteacher.jsp). 19
4.1.23 删除教师处理页面(deleteacher2.jsp). 19
4.1.24 学生聊天室页面(sapplst.jsp). 20
第5章 系统功能详述. 21
5.1 登录系统. 21
<, , , , SPAN class=MsoHyperlink>5.2 注册系统. 21
5.3 师生信息管理系统. 22
5.4 留言板系统. 23
5.5 包含网络白板的聊天室系统. 23
5.6 文件上传下载系统. 25
第6章 系统运行配置. 27
6.1 安装J2SDK: 27
6.2 安装Tomcat: 27
6.3 安装JSP访问SQL Server 2000的驱动程序: 28
第7章 系统重要部分技术实现. 30
7.1 包含网络白板的技术实现. 30
7.1.1 工作原理. 30
7.1.2 功能设计. 30
7.1.3 通讯协议集的制定. 31
7.1.4 编程实现. 32
7.2 SmartUpDown组件使用. 37
7.2.1 安装篇. 37
7.2.2 相关类说明篇. 38
7.2.3 相关方法说明. 41
第8章 总结. 45
谢 辞. 46
参考文献. 47
随着网络在社会的不断普及,其在人们的学习和生活中发挥着越来越重要的作业,也不断地简化人们地学习和生活。该系统就是建立在这个目的上的一次尝试。远程作业提交交流系统,利用网络交流的优势,为教师与学生之间的交流搭建一座方便的桥梁。
该系统的功能主要为:
1、为师生提供一个网络作业提交系统;
2、为师生提供一个实时在线交流系统;
3、为师生提供一个在线的留言系统。
其中,作业提交系统实现文件在JSP网页中的上传和下载;实时在线交流系统实际就是一个在线聊天室,并考虑到师生这个特殊的服务对象,添加了网络白板这个功能,使师生之间可以更加形象的交流;在线留言系统提供了与未在线的人交流的功能。以上这些功能的实现都是建立在师生信息管理系统之上的,首先要建立完整的学生、教师和班级信息,以上3个主要系统才能正常工作。再就是为了减小网页的负担,我设立了注册登录系统,一定程度的减免了不相关人员的访问。
关键词 网络 在线 交流
4.1.1 登录、注册页面(login.jsp)
该页面主要是一个表单,提供两个选择:注册或登录。在填写完用户名和密码两项内容后按下提交键进入核实页面(ValidateUser.jsp),或点击注册键进入注册信息填写页面(UserInfo.jsp)。在该页面代码中我添加了一个javascript函数,使该页面具有了粗略的错误提示功能:在用户未输入用户名和密码前表单不会被提交至登录的核实页面(ValidateUser.jsp)。
4.1.2 核实页面(ValidateUser.jsp)
该页面接受登录、注册页面(login.jsp)提交的用户名和密码两项信息并以此进行数据库查询,若查询成功,则将该用户的姓名、学号和该用户是否为教师的信息分别记入session变量“name”、“snum”、“Isteacher”中,并根据数据库查询的结果决定下一个显示的页面:学生页面(student.htm),教师页面(teacher.htm),管理员页面(administrator.htm)和登录失败页面(fail.htm)。在这个页面中,我另外还设置了一个session变量“login”当成功验证后赋值为“ok”。该变量的作用是为验证已登录页面(CheckValid.jsp)提供是否以验证的信息。在该页面中,我使用了javabean技术,将连接数据库的工作建成了一个名为conn的类,并在该页面中引用。在后面介绍的文件中,也有许多文件引用了它。
4.1.3 验证已登录页面(CheckValid.jsp)
该页面提供一个验证打开当前页面用户是否登录的功能。这样是为了避免在有恶意人士在了解了页面的文件名后,跳过登录界面直接进入后面的服务页面。该页面实际只是一个验证是否登录的代码,其他需要保护的页面只要在文件开始时引用该文件就可以了,这样可以避免在多个网页中重复编写相同的代码。
4.1.4 学生注册页面(UserInfo.jsp)
该页面主要是一个表单,负责从用户获得相关的信息,提交给注册信息提交页面(CheckUserInfo.jsp)。
4.1.5 注册页面提交页面(CheckUserInfo.jsp)
该页面接受学生注册页面(UserInfo.jsp)提交的信息。使用javabean,引用了两个类,分别为conn和UserInfo。前者用来获得用户的学号,用来进行唯一性校验;后者用来对接受的信息进行校验,对“学号”、“用户名”、“密码”、“重复密码”提供空检验,“学号”必须为8位数字,“密码” 与“重复密码”必须一致,否则就会提示相应的纠错信息。在确认提交的信息无错后,尝试进行数据库输入操作。若操作成功,则显示数据库操作成功信息和输入者的姓名、学号,如下图所示。若操作失败,则显示数据库操作失败信息,提示重新尝试。
4.1.6 学生页面(student.htm)
此页面为一框架页面,3个框架分别指向学生选择页面(StudentPage.jsp)、学生登录默认界面(student1.htm)和显示留言页面(view_message.jsp)。
4.1.7 学生选择页面(StudentPage.jsp)
该页面提供了学生成功登录后的可用选项。我做成了5个超连接,分别连接不同的页面。具体为“我要留言”对应留言填写页面(index.htm),“上传文件”对应上传文件选择页面(upload.jsp),“聊天室” 对应学生聊天室页面(sapplet.jsp),“修改密码”对应修改密码页面(changecode.jsp),“返回登录界面”对应登录、注册页面(login.jsp)。
4.1.8 教师页面(teacher.htm)
同学生页面一样,此页面也为一框架页面。3个框架分别指向教师选择页面(TeacherPage.jsp)、教师登录默认界面(teacher1.htm)和显示留言页面(view_message.jsp)。
4.1.9 教师选择页面(TeacherPage.jsp)
该页面提供了教师成功登录后的可用选项。共7个超连接。分别为“我要留言”对应留言填写页面(index.htm),“下载文件”对应班级选择页面(TeacherPage2.jsp),“聊天室”对应教师聊天室页面(tapplet.jsp),“管理学生信息”对应学生帐户删除页面(delestudent.jsp),“管理任课信息”对应添加认课信息页面(maadds.jsp),“修改密码”对应修改密码页面(changecode.jsp),“返回登录界面”对应登录、注册页面(login.jsp)。
4.1.10 管理员页面(admin.htm)
框架页面。同样是3个框架,分别对应管理员选择页面(administrator.jsp)、管理员登录默认界面(admin1.htm)和显示留言页面(view_message.jsp)。
4.1.11 管理员选择页面(admin.jsp)
该页面提供了管理员成功登录后的可用选项。共6个超连接。“添加教师信息”对应添加教师信息页面(addteacher.jsp),“删除教师信息”对应删除教师信息页面(deleteacher.jsp),“管理留言板”对应管理留言板页面(managelyb.jsp),“管理班级信息”对应管理班级信息页面(maclass.jsp),“修改管理员密码”对应修改密码页面(changecode.jsp),“返回登录界面”对应登录、注册页面(login.jsp)。
4.1.12 显示留言页面(view_message.jsp)
该页面显示当前用户收到的留言信息。具体的工作为使用session变量“name”获得当前的用户名,通过session变量“snum”获得登录者的学号信息,并进行适当处理获得当前用户所属的班级号,在数据库中message表的“rname”项上查找相匹配的条目,并按记入数据库的时间顺序列出。显示留言的留言人,留言主题,留言时间和内容。在数据库为空时,提示“目前还没有任何留言”,在当前用户未收到留言时提示“您还未收到任何留言”。
4.1.13 留言页面(index.htm)
该页面主要是一个表单,从用户处获得接受对象,留言主题和留言内容三项信息,提交给添加留言页面(add_message.jsp)。“查看留言”提供用户一个在较大的框架中浏览留言的功能,对应页面名为nowview_message.jsp。
4.1.14 添加留言信息页面(add_message.jsp)
该页面一方面接受由留言页面(index.htm)传来的表单数据,并对其进行简单的校验。另一方面通过session变量获得提交该留言者的身份信息是否为教师。该页面检查接受的各条目是否为空,若为空则显示相应的提示信息。当确定接受的数据符合要求后,将进行输入数据库的尝试。若成功输入,则重定位至成功添加留言页面(successadd.htm)提示数据库输入成功。
4.1.15 上传文件页面(upload.jsp)
通过session变量“snum”获得登陆学生的学号。取其前六位数字得到该生所在的班级。以此为根据对数据库进行两次查询获得该班级的所有任课教师和所学课程放入两个菜单中,供学生选择,并和用户选择的文件一起以表单形式提交给上传处理页面(doUpload.jsp).
4.1.16 上传处理页面(doUpload.jsp)
接收上传页面(upload.jsp)提交的相关信息,利用SmartUpdown组件实现文件上传。其中SmartUpdown组件以javabean形式在页面文件中被引用。
4.1.17 下载处理页面(doDownload.jsp)
通过session变量获得文件的下载地址,传给SmartUpdown组件实现文件的下载。SmartUpdown组件同样以javabean形式在页面文件中被引用。
4.1.18 修改密码页面(changecode.jsp)
获得用户的新密码,并以POST方式提交给修改密码处理页面(changecode2.jsp)。
4.1.19 修改密码处理页面(changecode2.jsp)
接受修改密码页面(changecode.jsp)提交的信息。比较两次密码输入是否一致。当一致时进行数据库输入操作。在操作成功时提示“密码更新完成”,在失败时提示“数据库输入中出现问题,请重试”。
4.1.20 管理任课信息页面(maadds.jsp)
由用户填写相关信息,以POST方式提交到任课信息处理页面(maadds2.jsp)。
4.1.21 任课信息处理页面(maadds2.jsp)
从管理任课信息页面(maadds.jsp)获得课程和班级的信息,再从session变量“name”获得教师名,然后进行数据库输入操作。依据成功或失败分别提示相关信息。
4.1.22 删除教师页面(deleteacher.jsp)
从数据库中输出所有教师的信息。通过循环,列表显示。在每行后添加一个表单,设立一个属性为隐藏,名字为“name” 的变量,其值为每行相应的教师名。再设立一个属性为提交,名字为“删除按钮”的按键。表单的目标设为删除教师处理页面(deleteacher2.jsp)。
4.1.23 删除教师处理页面(deleteacher2.jsp)
从删除教师页面(deleteacher.jsp)页面获得需要删除的教师的姓名,以此为依据进行数据库操作。根据操作的成功与否返回相应的提示。
4.1.24 学生聊天室页面(sapplst.jsp)
本页面引用了applet文件ChatApplet2.class。使用session变量获得以登录用户的用户名,并将此参数传至该applet文件。进入该页面后点击登录按键就可以激活聊天室栏(需在服务器以开通的前提下,默认登录默认聊天室)。选择自己想要进入的聊天室点击“加入聊天室”按钮就可以开始在线交流了在“当前交谈室用户”栏中可以观察在线的用户。右上为网络白板,右下角的文本框为聊天显示处,其下为聊天的发送处。在白板右侧可以选择当前画笔的颜色,白板上方室清除白板的功能键按钮。暂停交谈按钮在被使用后,只能发送信息不能接受信息,再次点击恢复聊天功能。
第1章 系统功能详述
5.1 登录系统
登录系统由2个页面,一个javabean文件和1个数据库表组成:登录、注册页面(login.jsp),核实页面(ValidateUser.jsp),conn类文件和用户信息表(tuser)。该系统对需要使用该系统的用户进行验证,并将合法用户分类,再根据分类结果显示不同的登录界面。
用户在登录、注册页面(login.jsp)中填写相应信息后按下提交键,经过页面中的javascript函数的简单校验通过后将相应信息提交给核实页面(ValidateUser.jsp)。在该页中,通过引用conn类调用用户信息表与提交的数据相比较,决定下一个显示的页面。
5.2 注册系统
注册系统分为学生注册系统和教师注册系统。其中学生注册系统由3个页面,一个javabean文件和1个数据库表组成:登录、注册页面(login.jsp),学生注册页面(UserInfo.jsp),注册信息提交页面(CheckUserInfo.jsp),UserInfo类文件和用户信息表(tuser)。教师注册系统也由3个页面和1个数据库表组成:管理员选择页面(admin.jsp), 添加教师信息页面(addteacher.htm),添加教师处理页面(addteacher.jsp)和用户信息表(tuser).
该系统实现添加合法用户的添加功能。
先介绍学生注册系统。在登录、注册页面(login.jsp)中选择“注册”按钮,进入学生注册页面。在学生注册页面中,用户填写相应的注册信息,提交到注册信息提交页面。该页面通过引用的UserInfo类进行数据的校验工作,并在校验后将信息输入用户信息表。
再介绍教师注册系统。在管理员选择页面中选择“添加教师信息”选项,进入添加教师信息页面,用户在该页面填写注册所需的相关信息后选择提交按钮,将相关信息提交至添加教师处理页面。由该页面将相应信息输入用户信息表。值得注意的是,由于用户信息表中属性“snum”的主键特性,必须为教师编写学号。为此,我将教师的学号全部设为“00000000”。
5.3 师生信息管理系统
师生信息管理系统由8个页面和3个数据库表组成:管理学生页面(delestudent.jsp),管理学生处理页面(delestudent2.jsp),删除教师页面(deleteacher.jsp),删除教师处理页面(deleteacher2.jsp),管理任课信息页面(maadds.jsp),任课信息处理页面(maadds2.jsp),管理班级信息页面(maclass.jsp),班级信息处理页面(maclass2.jsp),用户信息表(tuser),班级信息表(Tstudentnum)和认课信息表(adds)。该系统主要实现在线的数据库操作。根据用户的权限可以对数据库中的各个师生关系表进行相应的操作。具体权限如下:学生无任何修改相关表的权利。教师可以用户信息表中的学生信息,对任课信息表进行添加。管理员可以对班级信息表进行操作,可以修改用户信息表中的教师信息。
先介绍教师的相关操作,先是管理学生信息。以教师权限登录后,在教师选择页面选择管理学生信息按键,进入管理学生信息页面。填写需要删除的学生的姓名和学号,按下提交键将相应数据提交至管理学生处理页面。该页面比较获得的数据和用户信息表中相应的数据。若相符和就删除该学生信息。再是管理任课信息。同样以教师权限登录后,在教师选择页面中选择管理任课信息按键,进入管理班级信息页面。填写相应班级信息按下提交键进入班级信息处理页面,进行数据库输入操作。
再介绍管理员的相关操作,先是删除教师信息。在以管理员身份登录后,在管理员选择页面选择删除教师信息选项,进入删除教师信息页面。该页自动显示当前用户信息表中的所用教师信息,并提供删除选项。点击需要删除的教师信息所在行的删除按钮进入删除教师处理页面。由该页面执行相应的对用户信息表的操作,并根据操作成败返回相应信息。再是管理班级信息。同样以管理员身份进入管理员选择页面后选择管理班级信息选项,进入管理班级信息页面。在该页填写班级号和班级人数信息,按下提交键将相关信息提交至任课信息处理页面,由后者将相关信息输入数据库。
5.4 留言板系统
该系统由6个页面和1个数据库表组成:留言页面(index.htm),添加留言页面(add_message.jsp),显示留言页面(view_message.jsp),成功留言页面(successadd.htm),管理留言信息页面(managelyb.htm),管理留言信息处理页面(managelyb2.jsp)和留言信息表(message)。该系统的作用是实现师生之间的非实时交流。当学生需要向教师提问而教师并不在线时,或教师想公布通告给相关班级时,或教师回答同学问题时都可以使用该系统实现。
该系统有三个部分:提交留言、显示留言和管理留言。先介绍提交留言部分。在学生选择页面、教师选择页面或管理员选择页面选择我要留言选项,进入留言页面。用户在该页填写数据库所需的“收言人”、“主题”和“内容”后按下提交按钮,进入添加留言页面。由该页面进行相应的校验和数据库输入操作。在成功操作后系统自动转移至成功留言页面提示已成功留言。再介绍显示留言部分。在用户成功登录后系统将根据数据库中的数据将用户分类并显示相应的页面框架。留言信息显示页面镶嵌在这些框架中,显示其它合法用户给当前用户的留言。最后介绍管理留言部分。在本系统中只有管理员拥有删除留言的权利。在管理员选择页面中选择管理留言板选项,进入管理留言信息页面。该页面列出目前数据库中的所有留言,并在每个留言后添加一个删除按钮。选择想要删除的留言按下删除按钮进入管理留言信息处理页面。由该页面处理数据库的相关操作并返回相应的信息。
5.5 包含网络白板的聊天室系统
该系统由2个页面,17个applet类文件组成:学生聊天室页面(sapplet.jsp),教师(tapplet.jsp),SendDrawData.class类文件,TooManyRoomsException.class类文件,User.class类文件,AboutDialog.class类文件,ChatServer.class类文件, DataBag.class类文件, Logo.class类文件, NoSuchRoomException.class类文件, NotMemberException.class类文件, PleaseCloseSocketException.class类文件, QuitDialog.class类文件, Room.class 类文件,RoomData.class类文件, RoomGroup.class类文件, Rooms.class类文件, ChatApplet2.class类文件,ChatApplet1.class类文件。该系统的功能为构建一个在线聊天室,为在线师生提供在线交流服务。另外加入网络白板,师生之间的交流更加形象生动,特别适合师生间的交流使用。
运行该系统的首要条件是在服务器端首先运行ChatServer.class文件构建留言服务器。其运行情况如图下所示:
在成功启动服务器后,登录教师或学生选择页面。选择聊天室选项,启动相应的applet程序。其中学生引用ChatApplet2类文件,教师引用ChatApplet1类文件。这两个applet程序的大部分是相同的,唯一的不同是教师聊天室拥有创建新聊天室的功能,而学生聊天室没有,仅能加入默认聊天室或教师建立的聊天室。
该服务器提供了2个菜单,1个按钮,1个下拉菜单和2个文本显示框。在“file”菜单中提供“restsrt”和“Exit”两个选项,分别提供重启聊天服务器和退出聊天服务器。“help” 记录了版本信息。“clean”按钮将清空其下的“message” 文本显示框。“message” 文本显示框显示相应聊天室的聊天内容和系统提示信息。“chat room”下拉窗口提供当前工作的聊天室名,用以在“message”文本显示框中查看相应聊天室的情况。“user list”文本显示框显示相应聊天室的当前用户。
其他的类文件均是前三个类文件中所引用的类或方法的本体。
5.6 文件上传下载系统
该系统包含个页面,2个javabean类文件包和2个数据库表:下载课程选择页面(TeacherPage2.jsp),下载班级选择页面( classPage.jsp),下载学生选择页面(personPage.jsp),下载文件处理页面(doDownload.jsp),上传文件选择页面(upload.jsp),上传文件处理页面(doUpload.jsp),DBconn类文件包,com类文件包,班级信息表(Tstudentnum),任课信息表(adds)。该系统的功能为实现学生作业的在线提交。
该系统分为两部分。作业提交和作业接收。在该系统中,我应用了网上业已成熟的JSP组件smartupdown实现这两个功能。先介绍作业下载部分。流程图如下图所示:
下载课程选择页面
(TeacherPage2.jsp) |
下载学生选择页面
(personPage.jsp) |
下载文件处理页面
(doDownload.jsp) |
在教师选择页面中选择“下载文件”选项。进入下载课程选择页面,选择相应的课程后点击“查看”按键进入下载班级选择页面,选择相应的班级,进入下载学生选择页面,选择目标学生的学号,进入下载文件处理页面。由该页面根据前面各页的选择,引用com类包中的smartupdown组件下载相应的学生文件。
再介绍作业上传部分。在学生选择页面中选择“上传文件”选项。进入上传文件页面,在空白处填写文件地址或通过点击“……”按钮获得文件地址。在下面的两个下拉菜单栏中选择相应的教师和课程,提交至上传文件处理页面。该页引用smartupdown插件完成文件的上传工作。