java毕业设计——基于JSP+sqlserver的课程教学网站设计与实现(毕业论文+程序源码)——教学网站

基于JSP+sqlserver的课程教学网站设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于JSP+sqlserver的课程教学网站设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

1、项目简介

  1. 通过操作系统教学网站的建设,完成了对于操作系统课程的远程化授课。可以使学生不受时间空间的限制,通过网络对于这门课程进行学习。建立起了基于B/C的网络化教学系统。本网站采用当前最流行的JSP网络编程技术,可以实现数据的高效、动态、交互访问,具有强大的Server/Client交互能力。本文中所做的主要工作:介绍Win +JSP(J2DK+TOMCAT)系统并且嵌入 JAVABEAN的一般原理;阐述整个操作系统教学网站的概要设计,系统结构及工作原理;分析了系统实现中的特殊性、难点和重点;详细设计实现学院介绍、教学资源、课程表、课堂教学、在线答疑、其他课程、课件下载、留言反馈、站内搜索、公告专栏、友情链接、校园风景、新闻中心、栏目导航等程序模块; 各个模块的具体实现,且分析并解决实现中的若干技术问题;建立完整的实验网站,进行测试并分析结果。


2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:20545个字52页
包含内容:全套源码+配整论文


3、关键词

JAVABEAN JSP 网络教学 JAVASCRIPT JDBC

4、毕设简介

提示:以下为毕业论文的简略介绍,项目完整源码及完整毕业论文下载地址见文末。

引 言
网络教学在教学中所扮演得角色越来越明确:一方面,计算机网络为学习者提供学习资料、工具和创设学习情景,让他们操作、探索,为提高学习者的兴趣,调动他们的积极性和主动性,培养其创造能力营造了良好的信息化环境。另一方面,计算机网络有丰富的教学信息资源,它既可以做到在不割裂学科系统知识的情况下,以多媒体的方式表现知识和经验;又可以对学科的系统知识进行延伸性链接,对不同学科所涉及的同一对象给予多角度、多层面的反映。为学习者掌握系统知识提供了书本无法比拟的信息化环境。计算机网络既能提升学习者主体地位,提高其学习兴趣,培养其主动探索问题、解决问题的能力和技能;又能使他们学习和掌握系统的科学知识。既可以使学习者学习系统知识,又可以使他们在学习过程中学会学习。既调动学习者的主动性,又充分发挥了教师的主导作用。
网络在教学中的应用必然受多种教学理论的影响,也必然要形成多元化或多种风格的发展格局。在现代科学技术的飞速发展的时代,单一的教学观,单一的教学模式显然已不适应社会发展的需要。自上个世纪50年代以来,“各种教学改革探索,风起云涌。产生了许多新的教学体系。但是,谁也包打不了天下,只有大家联合起来,才能迎接时代的挑战。”其实,国外的学者也清楚地认识到这个问题:“把建构主义这种培养学习者处理‘问题’能力和技能的模式,推广至一切教学领域是不适宜的。”(Walter Dick 1991)。 如果网络教学仅推崇某一个教学思想或模式,并认为它适用于一切类型的教学,那就是一种误解。
省略

第1章 JSP简介
1.1 JSP与本系统的开发
JSP是由Sun Microsystems公司倡导,许多公司参与一起建立的一种动态网页技术标准。是结合markup(HTML或XML)和JAVA代码来处理的一种动态页面。第一页第一次被调用的时候,通过JSP引擎自动编译成Servlet。然后执行,以后每次调用时,执行编译过的Servlet。Web应用的功能可以分为多个明确定义公共接口的组件,通过JSP将它们结合再一起。在选择本系统的开发语言时,作了非常全面的思考[2]。
1 JSP的应用前景
一般企业采用JSP建设大型的分布系统;PHP快速简洁,而且同JSP一样具有跨平台的特性;ASP和.NET只能在windows上运行,ASP与PHP比起来差不多,不过没有PHP那么多的函数,所以遇到复杂疑点的就要做组件,此外也不如PHP安全高效,而且最重要的是:ASP已经被微软抛弃,停止技术更新了,属于是正在死亡的技术,而PHP正日新月异的发展着,前途很广。.NET基本上有着与JSP相同的功能和目的。将来,统帅网络编程的肯定时JSP和.NET。而PHP则时两者最有力的竞争对手和黑马。
2 JSP技术
(1)将内容的生成和显示进行分离
用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性[10]。
(2)可重用组件
绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
(3)采用标识
Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。
(4)适应平台
几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。
(5)数据库连接
Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBC-ODBC bridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。
(6)JSP的扩展性
通过开发标识库,JSP技术可以进一步扩展。第三方开发人员和其他员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工和如同标识一样的执行特定功能的构件来进行工作。
(7) JSP技术的整合性
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧并且能扩展到支持企业级的分布式应用中。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。
(8)JSP的应用模型
利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。
(9)JAVA的扩展
JSP页面通常被编译成为JAVA SERVLET,这是一个标准的Java扩展。页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个JAVA SERVLET 类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGI-BIN为每个HTTP请求生成一个新的进程的问题)。
(10)JSP的灵活性
JSP页面可以包含在多种不同的应用体系结构或者模型中,可以用于由于同协议、组件和格式所组成的联合体中。基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态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自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝大多数数据库。还有一点,PHP是完全免费的,可以从PHP官方站点(http://www.php.net)自由下载。而且可以不受限制地获得源码,甚至可以从中加进自己需要的特色。
JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行)。Sun 公司借助自己在Java 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序[8]。
三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。在 ASP 、PHP、JSP 环境下, HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PHP、JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、 JSP三者都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。 由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。之所以没有选择时下比较流行的PHP或是ASP,主要是因为作为一个毕业设计最重要的是学会开发的方法,而不是单纯的学会某一门语言,简单的说就是用什么语言开发最简单,最能达到锻炼的目的就用什么语言。
1.3 利用JDBC访问数据库
省略

第2章 网站需求分析
2.1与传统教学的比较
操作系统的教学网站目前的针对对象是教师和学生。以前,我们的教学主要是通过面对面的讲授。这样,有很多优势:教师可以与学生直接交流。但是也有许多不尽人意的地方:课堂教学很大程度上受到时间和空间的限制。浪费了教学资源同时对于学生的进一步的学习具有一定的局限性[2]。
远程教育是以开放的、灵活的、终身的教育发展为目标,它是传统教育的延续发展,同时,也是对传统教育的巨大变革,打破了传统教育的局限,具有传统教育所不可比拟的优点:
1 开放性
所谓开放,是指目标开放-即学校向学习的对象开放;教育资源-即教学课程开放;教育方式-即管理的方式开放;教育场所和时间开放。
2 灵活性
远程教育的灵活性表现在:
(1)能满足受教育者个性化的要求,给受教育者以更大的自主权受教育者可以根据自己选择的方式去学习以提高学习效率从而使被动的学习变成主动的接受。在远程教育中,受教育者对个人的学习进度负责,学习评价着眼于学习的进度而不是论其考试成绩的成败,受教育者的学习要求受教育者、教师的配合,以便学习的内容符合工作的要求。受教育者的学习以自学为主,学校更多的是提供学习的条件和服务,传统教学?以教师为中心"、“以课堂为中心"逐步为"以学生为中心”,"以自主学习为中心"所替代。
(2)程教育覆盖面广、传播手段灵活多样,教育资源和学习不受时空限制,可以随时、随地为受教育者提供教育服务。
(3)远程教育可以实现多家高等教育单位的多种形式的合作,实现优势互补,充分发挥高等教育的作用。
3 大众普及性
这个优点是建立在前两个优点的基础上的:正是因为远程教育的开放性,才有可能为不同基础、不同经历的受教育者提供受教育的机会;同时,亦是由于远程教育的灵活性,才能为不同背景、不同职业的受教育者接受继续教育提供了可能。因此远程教育具有大众普及性的特点。
4 学习的终身性
知识本身是需要即时更新的,掌握知识的人的知识也是需要即时更新的,从而使学习成为一个贯穿终身的持续性的活动。在当今社会,为适应市场经济的运行要求,在职人员必须适应资源社会化、配置市场化和使用价值化的要求,"创新人才是资本"成为一种基本的观念,新知识、新技术在当今社会环境中扩散速度很快,快速的扩散必然导致对知识、技术的更新要求也加快,从而又促使新的东西产生。由于知识的更新速度的加快、半衰期的缩短,在职人员必须不断的为自己补充新的知识,接受新的信息,才能赶上职业要求的变化,西方学者Dhanarajan认为,现代化的教育必须训练人们的创造力,能够适应迅速变化的工作环境,教育机构将根据社会的需要、学习者的要求和本地的实际情况提供灵活多样的课程。远程教育利用网络实现了这方面的要求。
5 社会资源共享性
教育部长陈至立在《面向21世纪教育振兴计划》一文中指出:“现代远程教育工程”,是在我国的教育资源短缺的条件下办好大教育的战略措施。

2.2网站的流程
通过浏览网站,在获取网站上提供的信息资源,并且利用网站提供的各项辅助学习的服务。使用该网站,使学习十分方便。比较网站教学与课堂实际教学相比较。整个网站功能很多, 大体的流程如图2-1与图2-2所示[4]。

操作系统教学网站的建设成功的实现了作为课堂教学有力补充的功能。有效的吸引了学生的学习热情。为学生的学习提供了有利的条件。节省了大量的时间,因为它是一个操作系统学习资源的集合,随着不断的更新,使学生有了更多的学习的空间与兴趣。节省了金钱,计算机的书本是相当贵的,有了网上课件下载,使得许多学生有了一个廉价而有效的学习空间。还有在线答疑使学生只要有一台电脑,可以上网,就可以随时随地向老师进行提问,没有任何的限制[2]。

总体来说:操作系统教学网站主要实现的功能模块有如下几个:课程介绍、教学资源、课程表、课堂教学、在线答疑、其他课程、课件下载、留言反馈、自我测试、成绩管理、站内搜索、公告专栏、友情链接、校园风景、新闻中心、烂目导航等程序模块。 上述功能为最基本的功能,必须实现。

在这里插入图片描述

图2-1 学生网上学习流程图

在这里插入图片描述

图2-2 教师网上教学流程图
操作系统的教学网站的实现必须吸引学生的眼球,使学生有兴趣有耐心自主地进行学习,使得学生在课堂之余将课堂上遗留的问题解决掉,消化掉。同时也与老师之间建立起一种探讨学习的关系。老师也可以更加进一步的达到传道,受业,解惑的目的[2]。这对于我们大学生相对宽松的学习时间是一个很好的利用。相信对于大家都是不无裨益的。

第3章 网站概要设计
3.1综合管理系统结构
根据网站的需求分析说明,对操作系统教学网站进行模块化设计。其中包括一些静态的页面主要通过超链接实现包括:学院介绍,教学资源,课程表,其他课程等。使学生对于学校的概况以及网站的教学资源有一个比较完全的了解[2]。
设计了课堂教学这一模块,使学生可以像在课堂上一样,浏览幻灯片,接受学习知指导,进行课程学习,并且可以进行课堂练习,进行自我检测学习效果,查漏补缺。
课件下载是一个非常有用的版块,有条件的学生可以将其下载在电脑上,用于自己平时的学习。成为老师课上教学的有效补充。
留言反馈是了解学生的意见与建议的一个非常有效的途径。同时也是教师与学生交流的平台,学生可以向老师提出关于学习方面的问题,老师也可以对于这些问题进行解答。使教师和学生有了更多交流的机会与空间。
自我测试是学生检测自己学习成果的模块。
成绩管理是一个非常复杂的模块,分为多级管理员与用户。有登陆检测,取回密码,注销帐户。对于不同权限的用户进入不同的界面,进行成绩的管理。
其他的版块是网站中最常见的功能,如:友情链接,校园风景,栏目导航等。
网站前台结构图如图3-1所示。

3.2后台管理系统结构
针对网站的多种资源,需要及时进行更新,才可以保持网站的有用性。所以需要后台管理员进行资源的更新。由于新闻中心的新闻采取的方法是超链接,所以只要及时更新链接就可以了。对于其他模块的信息进行后台的更新。以及在线答疑模块,对多余的时间过长的疑问与解答,进行整理删除。
后台具体结构图如图3-2所示。

在这里插入图片描述

图3-1 总体功能模块结构图

在这里插入图片描述

图3-2 后台管理模块结构图
3.3网站建设模式
C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件[5]。

B/S是 Brower/Server的缩写,客户机上只要安装一个浏览(Browser)如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个:只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。对客户端的操作系统一般也会有限制。可能适应于Win98, 但不能用于win或Windows XP。或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。以对于我们网站建设无法完采用C/S模式来实现管理[5]。只有通过采用B/S,从而为网站管理提供更大的管理余地,系统结构如图3-3所示。

在这里插入图片描述

图3-3 系统模式图

第4章 数据库设计
4.1数据库分析
作为一个具有一定应用价值的教学网站系统,从本质上说其操作的对象为数据库中存储的具体记录。因此不仅要求所使用的数据库具有比较高的稳定性,安全性及高负载下保持足够响应的能力,还要求作出科学的数据库逻辑结构设计,以提高数据库的利用效率和减少数据冗余。
以这种思想作为设计策略,分析系统应满足以下几项需求:
(1) 系统用户包括教师,学生与管理员用户;
(2) 附件上传及管理功能;
(3) 不同权限管理员的权限验证;
(4) 留言版块的表结构;
(5) 在线答疑的表结构;
(6) 成绩管理的表结构。
4.2数据库实体关系设计
通过上面的简单的分析,我们可以设计出数据库的逻辑结构----E-R图[7],即实体-关系图,从而建立数据库的物理结构即表结构.所谓实体反映到数据库中即为数据表,它存储着具体的记录信息;所谓关系,即表与表的关系,这种联系大多是通过外键(FK:Foregin Key)实现的.根据需求,设计了四个表网站数据库(feedback):留言模块表(feed),在线答疑模块表(feedback),成绩管理模块数据库(score_gd):注册登陆表(gzmy_manage_user), 成绩管理表(gzmy_mili_info),如图4-1和图4-2所示。

在这里插入图片描述

4.3系统数据字典
确定了数据库的逻辑结构之后,接下来需要作的就是将这些概念性的,逻辑性的东西转化为数据库中能够存放信息的数据表。数据库系统的选用需要根据系统的需求而定。本设计以大中型数据库系统MS SQL Server 作为系统使用的数据库系统平台。
网站数据库(feedback)中的留言模块表(feed),记录留言的各项信息,例如:信息序号用来在数据库中唯一标识该条留言记录;留言种类用来区分留言的类别;主题与内容是此条留言的主要内容;其他字段用于记录该留言者的相关信息[7],如表4-1所示。
表4-1 feed留言模块表
在这里插入图片描述

网站数据库(feedback)中的在线答疑模块表(feedback),记录在线答疑的各项信息:表示用来唯一标记用户;同时用户可以选择是提问还是解答;内容就是记录用户留言的具体内容,如表4-2所示。
表4-2 feedback在线答疑模块表
在这里插入图片描述

成绩管理模块数据库(score_gd)中的注册登陆表(gzmy_manage_user),记录用户,管理员注册登陆的相关信息。Id用于唯一的标识用户;通过输入管理员帐号,名字,密码来进行登陆的身份验证,在数据库表中会存储相关的信息;一旦忘记密码或丢失密码,用户可以通过密码提示问题,并且输入问题答案进行验证,返回密码,如表4-3所示。

在这里插入图片描述

第5章 网站详细设计
5.1登陆模块的设计
保证网站的安全,网站浏览之前会有登陆界面,来区分用户及管理员的权限。可以说登陆系统就是网站的大门,没有钥匙就无法进入[6]。该网站主要针对本门课程的学生以及教师,因此在数据库中直接录入学生或教师的用户名,系统设置一个初始密码,学生或教师可以自行修改密码,达到保密的效果,如图5-1所示。

在这里插入图片描述

图5-1 登陆页面
5.2课堂教学模块的设计
课堂教学无疑是教学网站的重点,在这一模块中我们通过询问任课老师了解到。在这一模块之中应该有所学课程的简介,学习指导,课程练习等功能。因此我们网站的课堂教学模块的结构,网站的课堂教学模块的结构,如图5-2所示。
test/selftest1.jsp用于进行自我测试版块。 introduction.jsp用于课程简介。using.jsp用于课程简介。index.jsp用于课堂教学主体。以下为Java script语言的一些风格设置函数。

在这里插入图片描述

图5-2 课堂教学模块结构图
省略

自我测试是课堂教学版块设计过程中一个非常重要的部分,对于每次提交的答案,根据程序,对其进行比较判断。在JSP中有一个非常重要对象session网页是一种无状态的程序,从服务器端无法了解客户端的浏览状态。要记录用户的相关信息,维持会话状态,JavaServlet提供了一个在多个请求之间持续有效的会话对象。session支持这个功能,与application对象不同的是session保存个人信息,application保存公共信息[5]。因此可以取得session的数据来计算作题的时间。本系统实现的只是对于用户多作题的判断,输出结果。以下为学生提交自测题后,用于评判的程序:

for ( var i=0 ; i< document.forms.length ; i++ )
	{var obj=document.forms[i];
		if ( obj.elements.length > 0 && obj.elements[0].type=="radio" )
		{
		  for(var j=0 ; j<obj.elements.length ; j++)
		    {var element=obj.elements[j];
		     if(element.type=="radio" && element.checked)
			ssanswer[sn]=element.value;
		    }
		  if ( !ssanswer[sn] )ssanswer[sn]="未答";
		    if ( ssanswer[sn] == obj.id )
			{totalscore+=ssscore;
			 message+="<tr align=center bgcolor='#CCFFCC' valign=center>}
		    else
			{flag=0;
			 message+="<tr align=center bgcolor='#CCFFCC' 
			}
		    sn++;
		}
		else if ( obj.elements.length > 0 && obj.elements[0].type=="checkbox" )
		  {for(var j=0 ; j<obj.elements.length ; j++)
			{element=obj.elements[j];
			 if(element.type=="checkbox" && element.checked)
				{if (!msanswer[mn])
				  msanswer[mn]=element.value;
				 else msanswer[mn]+=element.value;
			        }
			if(!msanswer[mn])
			 msanswer[mn]="未答";
                        if ( msanswer[mn] == obj.id )
			{totalscore+=msscore;}
			else
			{flag=0;}
			mn++;
		}
	}

课程的简介主要介绍计算机系统的核心软件–操作系统的基本概念、基本原理、主要功能及实现技术。重点讨论操作系统资源管理策略和方法、操作系统对并发活动的处理、操作系统的结构和用户界面。
使用说明主要说明使用本课件的方法。学习指导:对学习《操作系统原理》课程给予指导。课程学习:本课件的核心部分,包括操作系统原理的学习内容及其它必要环节。老师可以在课堂上当作课件作为课堂板书使用。学生可以当作自己学习的书本。课程练习:在线自测,通过若干组自测题进行练习,并可及时了解测试结果。左侧的目录栏可以直接作为课程学习的导航区,成树状。方便学生进行课程章节的查找。如下为分支的设计程序:

function Switch (dvn)
{var ExpandSign="";
	if ( CloseOther )
	{
		for ( var i=0; i < document.all.tags("DIV").length ; i++ )
		{
			ExpandSign="none";
			for ( var JudgeLength=1; JudgeLength <= dvn.id.length ; JudgeLength++ )
			{var CurStr=dvn.id.substring(0,JudgeLength);
				if ( document.all.tags("DIV")[i].id == CurStr )
				{ExpandSign="";
				break;}}
			if ( ExpandSign != "" )
				document.all.tags("DIV")[i].style.display="none";
		}
	}
	if (dvn.style.display=="none")
	{dvn.style.display="";}
	else
	{if (dvn.style.display=="")
		{dvn.style.display="none";}
	}
}

有两种方法进入课堂教学,点击首页的“进入课堂教学”进入 “绪论”的第一页,或者点击首页导航区的标题按钮进入相应的章节。在任一页面,都有关于本章、本节、本知识点的链接,同时相邻的知识点之间也有链接,使得跳转非常方便。对内容较多的知识点进行分页,相邻的页之间有链接。另外,每一章都安排了练习,可以点击每章的“本章练习”进入;并集中列出了本章的关键字,可以点击每章的“本章关键字”进入。在练习和关键字页面,都有到本章内容的链接;在关键字页面,点击上面框中的关键字,可以在下面框中看到该关键字的解释,解释后面还附了关键字所在页面的链接,可以点击进入。此外可以在留言版上对《操作系统原理》的教学网站的建设提出宝贵意见。
5.3留言反馈模块设计
留言反馈模块的结构如图5-3所示。

在这里插入图片描述

图5-3留言反馈模块结构图
省略

5.4数据库的连接
由于各模块频繁地与数据库打交道,如何与数据库链接就显得十分重要。前面我们已经提到,JSP采用JDBC技术访问数据库。
1 应用程序
程序实现激活JDBC方法的数据库,发送SQL,然后获取结果功能,执行以下任务[10]:
(1) 与数据源请求建立连接;
(2) 向数据源发送SQL请求;
(3) 为结果集定义存储应用和数据类型;
(4) 询问结果 过程处理错误;
(5) 控制传输,提交操作或卷回操作;
(6) 关闭连接。
2 驱动程序管理器
JDBC驱动程序管理器主要作用是代表用户的应用程序调入特定驱动程序:
(1) 为特定数据库定位驱动程序;
(2) 处理JDBC初始化调用;
(3) 为每个驱动程序提供JDBC功跑入口点;
(4) 为JDBC调用执行参数和结果有效性。
3 驱动程序
驱动程序处理JDBC方法激活,向特定数据源发送SQL声明,并且为应用程序获取结果。在必要时侯,驱动程序翻译与/或优化请求,这样使请求符合DBMS支持的语言,驱动程序完成以下任务:
(1) 建立与数据源的连接;
(2) 向数据源发送请求;
(3) 用户程序请求时,执行翻译;
(4) 将错误代码格式成标准的JDBC错误代码;
(5) 如果必要的话,管理游标如果是显示的话,建立传输。
4 数据源
数据源由用户应用程序想访问的数据源和自身参数组成(换句话说就是,DBMS类型和网络层)JDBC API定义了用户应用程序和驱动程序管理期间可能的交互作用,JDBC API定义了所有驱动程序和所有JDBC驱动程序和交互作用。

第6章 网站功能的实现
6.1登陆版块的实现
为了保证网站的安全性,设置一个登陆界面,输入用户名和密码。并且在整个网站的过程里都引入了config.jsp,使得用户只能通过登陆界面进行登陆,无法直接浏览网站。程序首先调用loginBean的setUsername()和setPassword()方法给Bean的实例输入用户名和密码这两个参数,接着调用Bean的excute()方法返回验证的结果,为真则认定用户为合法用户,程序设置两个session值,分别存放用户的登陆信息和用户的权限信息,再调用页面自动跳转至管理首界面,如图6-1所示。
在这里插入图片描述

图6-1 登陆界面
在登陆模块的设计过程中,MD5算法是一项非常有效的维护系统安全性的方法。
MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,用户将一段话写在一个叫readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后就可以传播这个文件给其他用户,其他用户如果修改了文件中的任何内容,当对这个文件重新计算MD5时就会发现此文件已修改。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。
MD5还广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的,用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不“知道”用户的密码是什么。一些黑客破获这种密码的方法是一种被称为“跑字典”的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些字典项的MD5值,然后再用目标的MD5值在这个字典中检索。
即使假设密码的最大长度为8,同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是P(62,1)+P(62,2)….+P(62,8),那也已经是一个很天文的数字了,存储这个字典就需要TB级的磁盘组,而且这种方法还有一个前提,就是能获得目标账户的密码MD5值的情况下才可以。

6.2主要信息版块的实现
6.2.1教学资源版块的实现
通过学院介绍版块中的教学资源teachersouse.jsp也可以通过超链接查看教师简介,教学设备简介,实验仪器简介,如图6-3所示。
在这里插入图片描述

图6-3 教学资源教师简介
6.2.2课程表版块的实现
通过学院介绍版块中的课程表course.jsp。也可以通过超链接查看操作系统,离散数学,数据结构的课程表,如图6-4所示。
在这里插入图片描述

图6-4 操作系统课程表
6.2.3其他课程版块的实现
通过学院介绍版块中的其他课程othercourse.jsp也可以通过超链接查看java语言教学,c语言教学,离散数学,网页设计等,如图6-5所示。
在这里插入图片描述

图6-5 JAVA语言课程介绍
6.3课堂教学版块的实现
课堂教学是教学网站的重要组成部分通过 单独弹出课堂教学的主页面。在index.jsp中我同样使用了框架(top.jsp ,left.jsp,prefrace.jsp)。整个页面分为上部,左部和右部。在top.jsp页面中我加了一个菜单栏,包括课程简介,使用说明,学习指导,课程学习,课程练习,等。在left.jsp页面中我用级联菜单把教师的课件按章节排好,以便于老师课堂上教学用。在prefrace.jsp页面是和left.jsp页面对应的,当教师在left.jsp页面中选择某一章节的内容,在prefrace.jsp页面中就会把课件显示出来。这样设计的目的是真实的模拟教师授课的全过程,无论从课件的浏览,到学习的指导,课程练习,以及及时发布消息的课程公告,如图6-6所示。
在这里插入图片描述

图6-6 课堂教学主页面
学生可以通过课程简介一栏对于课程有一个总体的把握,相当于日常生活中看到的教学大纲,如图6-7所示。
在这里插入图片描述

图6-7 课程简介页面
提供操作系统原理测试题是操作系统教学网站必须有的功能,该网站提供了两套操作系统原理测试题供学习使用。采用的是自己做题,系统打分的形式。不采用连接数据库的模式。题目和答案都放置在test.jsp页面之中,直接通过用HTML语言中的单选框和复选框规则把学生做的答案与在页面之中的标准答案进行比较,使得系统的运行速度有了很大的提高。同时,也方便了学生,提交后学生马上就可以知道自己哪方面没有学清楚。题目前一部分是单选题,后一部分是多选题。在进行答案的匹配比较方面有了一定的难度。现在实现的每张测试卷的测试题目数量有限,管理员必须及时更新。所以可以考虑连接题库,通过一定的通路进行调用。这样可以使学生很好的检测自己的学习水平。也为学生提供了一个动态的不断更新的题库。本网站实现的功能如图6-8所示。
在这里插入图片描述

图6-8 课堂练习页面
点击提交后,学生可以看到自己的测试情况。正确答案,学生的答案,得分情况。点击复位后,学生可以重新进行考试。学习的过程是不断提高的过程,也是对于自己记忆力的检测的过程。所以学生在进行依次检测之后,可以进一步对于已测或未测的题目进行检测。如果可以计算出学生哪一部分知识有漏洞,可以从题库中重新随机抽取相关的题目进行检测。使学生的学习效率有了很大的提高。关于本网站所实现的功能如图6-9所示。
在这里插入图片描述

图6-9 查看测试结果页面
教师的课件在课堂教学中是非常重要的工具,该版块功能强大,具体实现界面如图6—10所示。
在这里插入图片描述

图6-10 通过菜单浏览课件
页面的左边设置了一个目录树,分层显示,相当于资源管理器的形式,使学生对于课程的章节设置一目了然。教师上课时在右边的目录中选择上课所要讲的章节,其所对应的内容会在右边页面中显示出来。同时显示页面上还设置了上一节,下一节的按钮,可以更加方便读者,进行学习。
6.4课件下载版块的实现
实现课件下载是教学网站比较基本的功能,通过学院介绍版块中的其他课程download.jsp在页面上选择需要下载的教程或工具,然后通过链接到所需要的下载页面进行下载。具体实现界面如图6—11所示。
在这里插入图片描述

图6-11 课件下载目录页面
选择一个书目,进行下载。页面还包括相关网站,相关评论及新闻使学生可以非常轻松的找到自己所要的东西。网站就是一个资源库,所以指引用户找到想要的信息非常重要。用户不会在一个看起来迷糊的网站上停留很久,如图6-12所示。
至此,课件下载部分完成了,实现了基本的功能,但仍然存在一些不足的地方。
在这里插入图片描述

图6-12 课件下载界面
6.5留言反馈版块的实现
留言是一般网站都有的功能,只有通过留言工作人员才能知道自己做的好还是坏,才能把自己的工作做好先通过进入留言的页面。用户按照界面进行留言与提交。
本页面通过jdbc与sql sevser 数据库进行连接,把留言的各项内容加入到数据库中的留言表中,让网站管理员进行查看。本页面的连接数据库用的方法是使用usebean 调用javabean。管理员可以对于留言进行管理。具体实现的留言薄如图6-13所
示。
在这里插入图片描述

图6-13 留言页面
分配给管理员回复留言的密码,管理员通过此页面回复留言,保证留言版面的时效性。在数据库中,留言与回复的记录是有区别的。这样管理起来很清晰,代码的编写也比较方便,如图6-14所示。
在这里插入图片描述

图6-14 回复留言页面
为了保证留言版的安全,或者追究责任,管理员可以通过该页面查看留言者的IP地址。主要是通过调查用户的session就可以获得,有关于用户主机的相关信息。采用JSP提供的对象进行直接调用。
在这里插入图片描述

图6-15 查看留言者IP的页面

第7章 网站的安全性
网站的安全性是非常重要的,网站测试是软件开发的最后步骤,也是关键步骤。在测试过程中要全面检查程序的正确性,模块间的连接,功能的实现是否正确,开发的产品是否符合要求。
省略

第8章 系统开发难点与技巧
省略

结 论
在学习了基于Windows的网络服务器体系结构和JSP等网络开发技术,我对于网络编程思想有了较深的理解。并且在建设操作系统教学网站的过程中,进一步深化了我对于网络教学的认识。本文着重讨论了Web服务器端的编程实现情况,即对整个网站的登陆,课堂教学,留言反馈等模块的实现,并建立实验网站对整个系统进行性能测试。
学习JSP的过程中,我深刻的感受到学好JSP必须注意几点内容:首先要充分理解JSP的工作原理,为网站的建设打下坚实的基础;然后在JSP中正确使用类,而且要把类当成JavaBean来用;方法应该设计成简单的功能性单元并且方法应该简明扼要;设计应该思路清晰,同时注释以及一些事例也是必须的;分析,设计,实施时要善于与别人进行交流,可以避免编程中的许多误区;JSP的调试也相当关键。网站的基本功能已经实现,但是仍然存在一些问题没有解决。比如试题库的实现,登陆界面的加密等。
JSP语言是一门非常有用和有效的语言,具有结构清晰,维护方便,保护代码比较好的优点。同时JSP相对于其他语言来说消耗空间较多,但是其全内存操作带来了效率的提升,所以可以说JSP在时间与空间的平衡中寻找到了一个黄金分割点。

参考文献
[1] Bruce Eckel[美]著,《Java编程思想:第3版》 Thinking in Java, Third Edition ,北京:机械工业出版社。
[2] 高成著,《JSP动态网站建设》,北京:国防工业出版社,2002年4月。
[3] Jean-Paul Tremblay等著,《 面向对象数据结构与软件开发(Java版)》,北京:清华大学出版社2005年3月。
[4] 林春梅,“JSP在远程教育资源库开发中的主要技术问题”,《计算机应用》,2002年06期。
[5] 罗俊,“用JSP/Servlet构建的三层式产品开发过程管理系统”,《计算机工程》,2002年04期。
[6] Mark Wutka[美],《JSP和Servlet程序设计使用专辑》,北京:机械工业出版社2002年3月。
[7] 任艳,“应用JSP进行数据库信息发布” ,《计算机工程与应用》,2002年07期。
[8] Simon Brown/Sam Dalton/Dan Jepp[美]著,《JSP编程指南(第三版)》,北京:电子工业出版社2004年8月。
[9] 谭淑英著,“服务器端的动态网站开发技术”,《计算机应用研究》, 2002年05期。
[10] 肖金秀著,《JSP程序设计教程 》,北京:冶金工业出版社,2003年10月。
[11] 应宏,“基于B/S模式建立信息系统方法的比较分析”,《重庆三峡学院学报》 ,2002年03期。
[12] 殷兆麟著,《Java网络高级编程》,北京:清华大学出版社/北京交通大学出版社,2005年5月。
[13] Cay S.Horstmann & Gary Cornell.Core Java 1.2 :Volume 1-Fundamentals. Sun Microsysterms Press ,1999.
[14] Richard Monson_Hasfel.Enterprise JavaBeans.Second Edition. O ‘reilly & Associates,Inc. .
[15] Patrick Chan.The Java Developers Slmanac1.4 , Volume 2.Person Edition,Inc. 2002.

附 录
省略

谢 辞
省略


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号毕业设计全套资源(点击下载)
本项目源码基于JSP+sqlserver的课程教学网站设计与实现(源码+文档)_jsp_BS架构_课程教学网站.zip
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业设计方案专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值