- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于WWW的协同式CAI软件的Java实现的论文.doc
基于WWW的协同式CAI软件的Java实现的论文
摘 要 本文介绍一个用j++实现的基于icrosoft操作系统对java类库做了专门的扩展,它将java与(组件对象模型)和支持java的inter explorer 3.0浏览器相集成,用户可在java程序中访问任何支持的软件。对于数据库的访问,在j++中提供了dao(data access object)和rdo(remote data object)两种方法。本软件中采用rdo对象实现对odbc数据源数据的访问。由于对数据库的连接是建立在odbc的基础上,所以可以支持对各种类型的数据库访问。笔者采用的是access数据库。
通常,java applet是在一个“沙箱”中运行,可访问的资源有限,使用服务意味着存取沙箱之外的资源,为此,ie在安全性上要作严格的检查,它将java类分为可信类和不可信类,不可信类不能使用服务,所有不是从类路径装入的类都是不可信的,包括从网上下载的类,除非它们被封装在具有一个??字签名的.cab文件中。为了避免安全性带来的麻烦和减少客户端的odbc配置,笔者在访问试题库的部分中采用了由服务器方java应用程序访问数据库的办法,无安全性限制。浏览器方applet程序通过与服务器方应用程序通信来传递访问请求和结果。
整个系统的数据库表格设计如下:
. 填空题表:含试题标识号、问题号、难度、试题内容、答案共五个字段。
. 判断题表:结构同上。
. 填空题试卷表:试题标识号、分数共两字段。
. 判断题试卷表:结构同上。
. 教学内容索引表:含章号、节号、问题号、问题名、url地址共五个字段。
. 章标题表:含章号、标题共两字段。
. 节标题表:含章号、节号、标题共三个字段。
. 成绩登记库:含姓名,成绩两字段。
从数据库设计可看出,本系统将教学内容与试题库中试题通过问题号连接起来。
4.2 数据通信处理
从总体设计可知,系统有两类应用,它们有不同的工作特点。基于客户/服务器的应用是客户方发出访问请求后,再直接在事件代码中获取服务方返回的结果;而对于协作应用则必须在所有客户方分别设立消息监听线程去获取和处理数据。从实现效率上考虑,这两类应用不宜共用一条socket通道。笔者采用了双socket通路的办法。在服务方设立两个socket监听口,分别是8883和8884,所有客户端要分别针对两个监听口建立socket连接。为避免创建过多线程,并将两类应用通道分开,系统在通道的使用上作了一些特殊处理,具体情况说明如下:
. 学生客户:使用8883口发送消息,使用8883口接收数据库访问结果,使用8884口接收所有其它消息。
. 服务器方:系统为每个客户创建一个消息接收线程,它使用8883口接收消息,并将消息通过8884口的相应输出流转发给其他客户方。考虑到只有教师能发控制消息,在服务器方,针对8884口只建立一个教师控制监听线程,它专门使用8884口接收教师控制消息,并通过8884口发送给所有学生。与学生对应的8884口的输入流未用,因此服务方也不必创建相应的监听线程。
. 教师方:使用8884口发送教学控制信息,使用8883口发送谈话、白板、查分等消息。接收消息线程使用8884口接收消息。
服务器方是通过8884口的输出流将消息转发到各个客户方,这就要求与每个用户连接对应的输出流要能实现共享访问,这是各用户间互发信息的基础。为此,在服务方通信线程类的设计上采用static数组存放输出流,这样既可实现同一类中各对象间的数据共享,又可在不同类中通过类名直接访问其数据。
由于在服务方和客户方都采用了多线程设计,系统的效率得以充分发挥。
4.3 消息设计
整个系统是建立在消息基础上的,服务器端和客户端都承担有消息处理的工作。大量基于协作应用的消息,服务方只负责转发,由客户方进行处理。每类消息由消息头和内容组成,消息头用于系统判别。在整个系统中,主要有6类消息:交谈消息;白板消息;向导消息;用户登入和退出消息;试题库访问消息其它消息(如登分、查分等)。
4.4 教学应用界面设计
4.4.1 教师界面
教师操作界面是固定的,在applet面板上含四部分内容:①用户列表;②控制面板,有页面向导、讨论、练习、测试、查成绩共五个按钮,其中,前四个按钮分别用来控制学生进入各学习阶段,学生的界面将随教师的控制变化;③交谈文本显示域和谈话录入按钮,点击“谈话录入”按钮,将弹出一个文本录入窗口供发送谈话内容;④共享白板及工具栏。
4.4.2 学生界面
学生界面是一个变动的界面,由两个帧构成,一帧用来显示java applet,另一帧显示教师发送的url页面内容。applet帧的界面由多块面板(分别是“登录面板、“讨论面
文档评论(0)