1、I摘 要通过在线学习系统的建设,完成了对于在线学习课程的远程化授课。可以使学生不受时间空间的限制,通过在线对于这门课程进行学习。建立起了基于 B/C 的在线化在线学习系统。本系统采用当前最流行的 JSP 在线编程技术,可以实现数据的高效、动态、交互访问,具有强大的 Server/Client 交互能力。本文中所做的主要工作:介绍 Win2000 +JSP(J2DK+TOMCAT)系统并且嵌入 JAVABEAN 的一般原理;阐述整个在线学习系统的概要设计,系统结构及工作原理;分析了系统实现中的特殊性、难点和重点;详细设计实现学院介绍、在线学习资源、课程表、课堂在线学习、在线答疑、其他课程、课件下
2、载、留言反馈、站内搜索、公告专栏、友情链接、校园风景、新闻中心、栏目导航等程序模块; 各个模块的具体实现,且分析并解决实现中的若干技术问题;建立完整的实验系统,进行测试并分析结果。关键字 : JAVABEAN JSP 在线在线学习 JAVASCRIPT JDBC IIAbstractThrough the operating system teaching website construction, completed long-distance has taught regarding the operating system curriculum, was allowed to cause
3、 the student without the time space limit, and carried on the study through the network regarding this curriculum. Established based on the B/C network teaching system. This website uses the current most popular JSP network programming technology, may realize the data to be highly effective, dynamic
4、ally, alternately visits, and has the formidable Server/Client interactive ability. In this article does main work: Introduced Win2000 +JSP (J2DK+TOMCAT) the system and to insert JAVABEAN the general principle; Elaborates the entire operating system teaching website outline design, the system struct
5、ure and the principle of work; Has analyzed in the system realization particularity, the difficulty and key; The detailed design realization institute introduced, in the teaching resources, the class schedule, the classroom instruction, the on-line Q/A, other curricula, class downloading, the messag
6、e feedback, the station search, program module and so on announcement column, friendship link, campus scenery, news center, column navigation; Each module concrete realization, also in analysis and solution realization certain technical questions; The establishment integrity experimental website, ca
7、rries on the test and the analysis result. Key words: JAVABEAN JSP Network teaching JAVASCRIPT JDBCIII目 录摘 要 .IAbstract.II目 录 .III引 言 .1第 1 章 JSP 简介 .31.1 JSP 与本系统的开发 .31.2 对于 ASP,PHP,JSP 进行比较 .51.3 利用 JDBC 访问数据库 .6第 2 章 系统需求分析 .112.1 与传统在线学习的比较 .112.2 系统的流程 .12第 3 章 系统概要设计 .153.1 综合管理系统结构 .153.2 后台
8、管理系统结构 .153.3 系统建设模式 .16第 4 章 数据库设计 .184.1 数据库分析 .184.2 数据库实体关系设计 .184.3 系统数据字典 .20第 5 章 系统详细设计 .225.1 登陆模块的设计 .225.2 课堂在线学习模块的设计 .225.3 留言反馈模块设计 .265.4 数据库的连接 .29第 6 章 系统功能的实现 .316.1 登陆版块的实现 .316.2 主要信息版块的实现 .326.2.1 在线学习资源版块的实现 .326.2.2 课程表版块的实现 .326.2.3 其他课程版块的实现 .336.3 课堂在线学习版块的实现 .33IV6.4 课件下载版
9、块的实现 .376.5 留言反馈版块的实现 .38第 7 章 系统的安全性 .40第 8 章 系统开发难点与技巧 .42结 论 .44参考文献 .45附 录 .46谢 辞 .481引 言Internet 是目前世界上最大的计算机互联在线,它遍布全球,将世界各地各种规模的在线连接成一个整体。我们的在线学习也有了很大得发展与改革。现代信息技术是在线在线学习的技术标志,而在线学习活动,对人才的培养则是在线在线学习的根本。在线在线学习的问题不仅仅是技术问题,其本质问题仍是在线学习问题,是培养人的问题。是现代信息技术条件或环境下培养人的问题。对这些带有根本性问题的把握,就必须以科学的思想为指导,在分析研
10、究学生实际情况本着实事求是得精神,对在线在线学习做探索、借鉴、创新等工作。尤其要把创新放在主要地位。认真学习国外的经验,并要结合本学校、本课程、学生的实际,加以改造应用。坚持技术标准的统一与在线学习思想和风格的多样化相结合。而不是技术标准的多样化,在线学习思想和模式的单一化。要克服那种机械的、形而上学地看待在线在线学习的认识,把在线在线学习仅看成脱离课堂、学校、教师,一切依靠在线所进行的学习(在线学习)“ELearning”。其实,这是在线在线学习的一种方式,或是说在线在线学习应用的领域之一。“ELearning”作为课堂在线学习活动得有效补充,应该受到大家得重视 4。在线在线学习在在线学习中
11、所扮演得角色越来越明确:一方面,计算机在线为学习者提供学习资料、工具和创设学习情景,让他们操作、探索,为提高学习者的兴趣,调动他们的积极性和主动性,培养其创造能力营造了良好的信息化环境。另一方面,计算机在线有丰富的在线学习信息资源,它既可以做到在不割裂学科系统知识的情况下,以多媒体的方式表现知识和经验;又可以对学科的系统知识进行延伸性链接,对不同学科所涉及的同一对象给予多角度、多层面的反映。为学习者掌握系统知识提供了书本无法比拟的信息化环境。计算机在线既能提升学习者主体地位,提高其学习兴趣,培养其主动探索问题、解决问题的能力和技能;又能使他们学习和掌握系统的科学知识。既可以使学习者学习系统知识
12、,又可以使他们在学习过程中学会学习。既调动学习者的主动性,又充分发挥了教师的主导作用。在线在在线学习中的应用必然受多种在线学习理论的影响,也必然要形成多元化或多种风格的发展格局。在现代科学技术的飞速发展的时代,单一的在线学习观,单一的在线学习模式显然已不适应社会发展的需要。自上个世纪 50 年代以来,“各种在线学习改革探索,风起云涌。产生了许多新的在线学习体系。但是,谁也包打不了天下,只有大家联合起来,才能迎接时代的挑战。”其实,国外的学者也清楚地认识到这个问题:2“把建构主义这种培养学习者处理问题能力和技能的模式,推广至一切在线学习领域是不适宜的。”(Walter Dick 1991)。 如
13、果在线在线学习仅推崇某一个在线学习思想或模式,并认为它适用于一切类型的在线学习,那就是一种误解。“资源学习观”关注的是非学校课堂时空间的学习现象,聚焦于借助在线进行的灵活的、多样化的学习活动;“建构主义观”关注的是特定在线学习任务的完成,聚焦于学习者借助在线完成分析问题、取得资料、解决问题等活动;“传递信息观”关注的是学校课堂在线学习中的在线学习问题,聚焦于辅助教师的工作;“信息支持观”关注的是计算机在线与各种在线学习思想和模式的结合等等 4。现存的几种在线在线学习模式,如“问题”解决学习模式、探究学习模式、协作学习模式、讲授发现在线学习模式和自学模式等都有各自不同的在线学习任务、目标、内容甚
14、至在线学习对象,它们都有自己突出的特点和擅长发挥作用的领域。但哪一个模式都不能包打天下。因此在线化在线学习要走多元化发展道路。作为体会比较深刻的大学学习,我深深地感觉到大学生有更位自由的成长空间。主要的课程一定要学进去,学透,否则对于以后自己主动地学习打下一个非常扎实地基础。大学的每一门课程都是很紧张的,无论是课时还是课后地练习与实践。所以我在学习地过程中迫切地希望能够有这样一个更加灵活,更加方便的空间,来供我们进行自主学习。它可以是多方面地,全方位地,从课件下载,在线答疑,课堂在线学习到留言反馈,自我测试,再到相关系统的友情链接,以及新闻中心的设置。不仅加深了我们对于本门课程的学习理解,而且
15、也开阔了我们的眼界,很好的培养了我们自主学习的精神。也位很多学有余力的同学提供了很好的进一步发展钻研的空间。作为老师课堂在线学习的有力补充,该系统具备了很多的特点。它是实时实地的,学生可以登陆这个覆盖全球的互联网,随时随地进行学习。同时系统还为学生提供了许多自我检测的功能,可以及时查漏补缺,对于以后的学习打下一个坚实的基础。学生还可以通过搜索查询关于本学科的最新动态,紧跟学科发展的步伐。与老师进行不受时间地点的限制的交流。在线学习是计算机科学与技术专业一门十分重要的专业基础课,建设一个在线学习的在线学习系统是十分必要的。3第 1 章 JSP 简介1.1 JSP 与本系统的开发JSP 是由 Su
16、n Microsystems 公司倡导,许多公司参与一起建立的一种动态网页技术标准。是结合 markup(HTML 或 XML)和 JAVA 代码来处理的一种动态页面。第一页第一次被调用的时候,通过 JSP 引擎自动编译成 Servlet。然后执行,以后每次调用时,执行编译过的 Servlet。Web 应用的功能可以分为多个明确定义公共接口的组件,通过 JSP 将它们结合再一起。在选择本系统的开发语言时,作了非常全面的思考 2。1 JSP 的应用前景一般企业采用 JSP 建设大型的分布系统;PHP 快速简洁,而且同 JSP 一样具有跨平台的特性;ASP 和.NET 只能在 windows 上运
17、行,ASP 与 PHP 比起来差不多,不过没有 PHP那么多的函数,所以遇到复杂疑点的就要做组件,此外也不如 PHP 安全高效,而且最重要的是:ASP 已经被微软抛弃,停止技术更新了,属于是正在死亡的技术,而 PHP 正日新月异的发展着,前途很广。.NET 基本上有着与 JSP 相同的功能和目的。将来,统帅在线编程的肯定时 JSP 和.NET。而 PHP 则时两者最有力的竞争对手和黑马。2 JSP 技术(1)将内容的生成和显示进行分离用 JSP 技术,Web 页面开发人员可以使用 HTML 或者 XML 标识来设计和格式化最终页面,并使用 JSP 标识或者小脚本来生成页面上的动态内容(内容是根
18、据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans 组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和 JavaBeans 中,所以 Web 管理人员和页面设计者,能够编辑和使用 JSP 页面,而不影响内容的生成。在服务器端,JSP 引擎解释 JSP 标识和脚本,生成所请求的内容(例如,通过访问 JavaBeans 组件,使用 JDBC 技术访问数据库或者包含文件),并且将结果以 HTML(或者 XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于 HTML 的 Web 浏览器的完全可用
19、性 10。(2)可重用组件绝大多数 JSP 页面依赖于可重用的、跨平台的组件(JavaBeans 或者 Enterprise JavaBeans 组件)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法4加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。(3)采用标识Web 页面开发人员不会都是熟悉脚本语言的编程人员。JSP 技术封装了许多功能,这些功能是在易用的、与 JSP 相关的 XML 标识中进行动态内容生成所需要的。标准的 JSP标识能够访问和实例化 JavaBea
20、ns 组件,设置或者检索组件属性,下载 Applet,以及执行用其他方法更难于编码和耗时的功能。(4)适应平台几乎所有平台都支持 Java,JSP JavaBeans 几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP 和 JavaBeans 甚至不用重新编译,因为 Java 字节码都是标准的与平台无关的。(5)数据库连接Java 中连接数据库的技术是 JDBC,Java 程序通过 JDBC 驱动程序与数据库相连,执行查询、提取数据等操作。Sun 公司还开发了 JDBCODBC bridge,利用此技术 Java 程序可以访问带有 ODBC 驱动程序的数据库,目前大多数数据库系
21、统都带有 ODBC 驱动程序,所以 Java 程序能访问诸如 Oracle、Sybase、MS SQL Server 和 MS Access 等数据库。(6)JSP 的扩展性通过开发标识库,JSP 技术可以进一步扩展。第三方开发人员和其他员可以为常用功能创建自己的标识库。这使得 Web 页面开发人员能够使用熟悉的工和如同标识一样的执行特定功能的构件来进行工作。(7) JSP 技术的整合性JSP 技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧并且能扩展到支持企业级的分布式应用中。作为采用 Java 技术家族的一部分,以及 Java 2(企业版体系结构)的一个组成部分,JSP 技术能够
22、支持高度复杂的基于 Web 的应用。由于 JSP页面的内置脚本语言是基于 Java 的,而且所有的 JSP 页面都被编译成为 Java Servlets,所以 JSP 页面具有 Java 技术的所有好处,包括健壮的存储管理和安全性。作为 Java 平台的一部分,JSP 拥有 Java 编程语言“一次编写,各处运行 ”的特点。(8)JSP 的应用模型利用 JSP 技术,动态信息由 JSP 页面来表现,JSP 页面由安装在 Web 服务器或者使用 JSP 的应用服务器上的 JSP 引擎执行。JSP 引擎接受客户端对 JSP 页面的请求,并且生5成 JSP 页面作为对客户端的响应。(9)JAVA 的
23、扩展JSP 页面通常被编译成为 JAVA SERVLET,这是一个标准的 Java 扩展。页面开发人员能够访问全部的 Java 应用环境,以利用 Java 技术的扩展性和可移植性。当 JSP 页面第一次被调用时,如果它还不存在,就会被编译成为一个 JAVA SERVLET 类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了 CGIBIN 为每个 HTTP 请求生成一个新的进程的问题)。(10)JSP 的灵活性JSP 页面可以包含在多种不同的应用体系结构或者模型中,可以用于由于同协议、组件和格式所组成的联合体中。基于 JSP 的动态信息发布技术是一
24、个开放的、可扩展的建立动态 Web 页面的标准。不论采用什么创建工具,开发人员都可以使用 JSP 页面来创建可移植的 Web 应用,在不同的 Web 应用服务器上运行 10。1.2 对于 ASP,PHP,JSP 进行比较ASP(Active Server Pages)是一个 WEB 服务器端的开发环境, 利用它可以产生和运行动态的、交互的、高性能的 WEB 服务应用程序。ASP 采用脚本语言 VB Script(Java script)作为自己的开发语言。PHP 是一种跨平台的服务器端的嵌入式脚本语言。 它大量地借用 C,Java 和 Perl 语言的语法, 并耦合 PHP 自己的特性,使 W
25、EB 开发者能够快速地写出动态生成页面.它支持目前绝大多数数据库。还有一点,PHP 是完全免费的,可以从 PHP 官方站点(http:/)自由下载。而且可以不受限制地获得源码,甚至可以从中加进自己需要的特色。JSP 是 Sun 公司推出的新一代站点开发语言,他完全解决了目前 ASP,PHP 的一个通病脚本级执行(据说 PHP4 也已经在 Zend 的支持下,实现编译运行)。Sun 公司借助自己在 Java 上的不凡造诣,将 Java 从 Java 应用程序 和 Java Applet 之外,又有新的硕果,就是 JspJava Server Page。Jsp 可以在 Serverlet 和 Ja
26、vaBean 的支持下,完成功能强大的站点程序 8。三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但 JSP 代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。在 ASP 、PHP、JSP 环境下, HTML 代码主要负责描述6信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PHP、JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、 JSP 三者
27、都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。JSP 技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用 Java 技术家族的一部分,以及 Java 2(企业版体系结构)的一个组成部分,JSP 技术能够支持高度复杂的基于 Web 的应用。 由于 JSP 页面的内置脚本语言是基于 Java 编程语言的,而且所有的 JSP 页面都被编译成为 Java Servlet,JSP 页面就具有 Java 技术的所有好处,包括健壮的存储管理和安全性。之所以没有选择时下比较流行的 PHP 或是 ASP,主要是因为作为一个毕业设计最
28、重要的是学会开发的方法,而不是单纯的学会某一门语言,简单的说就是用什么语言开发最简单,最能达到锻炼的目的就用什么语言。1.3 利用 JDBC 访问数据库JDBC()是一种操作 SUN 所支持的数据库的新技术。在 JSP 中,JDBC 可以看作是一个服务器组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中个性化页面的实现便大量地用到了JDBC 技术。具体的操作步骤可以归纳为以下几步,安装 J2SDK:第一步:到 SUN 官方站点下载 J2SDK 的安装文件j2sdk-1_4_2_04-windows-i586-p.
29、exe,下载之后安装好 J2SDK;安装完之后,设置环境变量:我的电脑-属性-高级-环境变量;选择-系统变量(S):设置JAVA_HOME 环境变量:单击-新建,在变量名中输入:JAVA_HOME 在变量值中输入:D:Java(假设 J2SDK 安装在目录 D:Java 下,反正就是 J2SDK 的安装目录。)然后-确定,到此已经设置好 JAVA_HOME 环境变量。设置 CLASSPATH 环境变量:单击-新建,在变量名中输入:CLASSPATH 在变量值中输入:D:Javabin;.;D:Javalib; D:Javalibdt.jar;D:Javalibtools.jar(中间的点号“.”和分号“;”必不可少。)然后-确定,到此已经设置好 CLASSPATH 环境变量。所以设置 PATH 的环境变量:单击-新建,在变量名中输入:PATH 在变量值中输入:D:Java;.;D:Javabin(中间的点号“.”和分号“;”必不可少。)然后-确定,到此已经设置好 JAVA_HOME 环境变量。三个环境变量设置好后,写一个简单的 java 程序来测试 J2SDK 是否已安装成功:在 D:下新建一个目