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

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

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

文章目录:

1、项目简介

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


2、资源详情

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


3、关键词

JAVABEAN JSP 网络教学 JAVASCRIPT JDBC

4、毕设简介

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

第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.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.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的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个:只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。对客户端的操作系统一般也会有限制。只有通过采用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 2000作为系统使用的数据库系统平台。
网站数据库(feedback)中的留言模块表(feed),记录留言的各项信息,例如:信息序号用来在数据库中唯一标识该条留言记录;留言种类用来区分留言的类别;主题与内容是此条留言的主要内容;其他字段用于记录该留言者的相关信息[7],如表4-1所示。
表4-1 feed留言模块表
在这里插入图片描述

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

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

表4-3 gzmy_manage_user注册登陆表
在这里插入图片描述

成绩管理模块数据库(score_gd)中的成绩管理表(gzmy_mili_info),如表4-4所示。记录学生的成绩具体情况。Msgid具体标识学生,作为该表的主键;学号,成绩一一对应;姓名记录学生的姓名;修改日期用来记录修改成绩的时间;排序进行成绩的排序。
表4-4 gzmy_mili_info成绩管理表
在这里插入图片描述

第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 课堂教学模块结构图

<link rel="stylesheet" href="style.css" type="text/css">
<script language="JavaScript" type="text/JavaScript">
<!--
MM_reloadPage(true);
function MM_findObj(n, d) { //v4.01
    var p,i,x; 
    if(!d) d=document; 
    if((p=n.indexOf("?"))>0&&parent.frames.length) {
       d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
       if(!(x=d[n])&&d.all) x=d.all[n];
   for (i=0;!x&&i<d.forms.length;i++) 
      x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) 
      x=MM_findObj(n,d.layers[i].document);
      if(!x && d.getElementById) x=d.getElementById(n); 
return x;
}
function MM_showHideLayers() { //v6.0
    var i,p,v,obj,args=MM_showHideLayers.arguments;
   for (i=0; i<(args.length-2); i+=3) 
      if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
         if (obj.style) { obj=obj.style;
         v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
         obj.visibility=v; }
}
//-->
</script>      

自我测试是课堂教学版块设计过程中一个非常重要的部分,对于每次提交的答案,根据程序,对其进行比较判断。在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数据库的连接
省略

第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 sevser2000 数据库进行连接,把留言的各项内容加入到数据库中的留言表中,让网站管理员进行查看。本页面的连接数据库用的方法是使用usebean 调用javabean。管理员可以对于留言进行管理。具体实现的留言薄如图6-13所
示。
在这里插入图片描述

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

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

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

第7章 网站的安全性
网站的安全性是非常重要的,网站测试是软件开发的最后步骤,也是关键步骤。在测试过程中要全面检查程序的正确性,模块间的连接,功能的实现是否正确,开发的产品是否符合要求。
1 重复(Repetition)
最明显的且最容易理解的压力条件就是测试的重复。换句话说,测试的重复就是一遍又一遍地执行某个操作或功能,比如重复调用一个 Web 服务。功能验证测试可以用来被弄清楚一个操作能否正常执行。而压力测试将确定一个操作能否正常执行,并且能否继续在每次执行时都正常。这对于推断一个产品 是否适用于某种生产情况至关重要。客户通常会重复使用产品,因此压力测试应该在客户之前发现代码错误。许多最简单的压力系统只实现这一个条件,但简单地扩 展功能验证测试来多次重复并不能构成一个有效的压力测试。当与下面的一些原则结合起来使用时,重复就可以发现许多隐蔽的代码错误。

2 并发(Concurrency)
并发是同时执行多个操作的行为。换句话说,就是在同一时间执行多个测试,例如在同一个服务器上同时调用许多 Web 服务。这个原则不一定适用于所有产品(比如无状态服务),但是多数软件都具有某个并发行为或多线程行为元素,这一点只能通过执行多个代码示例才能测出 来。功能测试或单元测试几乎不会与任何并发设计结合。压力系统必须超越功能测试,要同时遍历多条代码路径。至于怎么做到这一点取决于具体的产品。例如,一个Web服务压力测试需要一次模拟多个客户机。Web 服务(或者任何多线程代码)通常会访问多个线程实例间的一些共享数据。因额外方面的编程而增加的复杂性通常意味着代码会具有许多因并发引起的错误。由于引 入并发性意味着一个线程中的代码有可能被其他线程中的代码中断,所以错误只在一个指令集以特定的顺序(例如以特定的定时条件)执行时才会被发现。把这个原 则与重复原则结合在一起,您可以应用许多代码路径定时条件。

3 量级(Magnitude)
压力系统应该应用于产品的另一个条件考虑到了每个操作中的负载量。压力测试可以重复执行一个操作,但是操作自身也要尽量给产品增加负担。例如,一个 Web 服务允许客户机输入一条消息,您可以通过模拟输入超长消息的客户机来使这个单独的操作进行高强度的使用。换句话说就是,您增加了这个操作的量级。这个量级 总是特定于应用的,但是可以通过查找产品的可被用户计量和修改的值来确定它 — 例如,数据的大小、延迟的长度、资金数量的转移、输入速度以及输入的变化等等。单独的高强度操作自身可能发现不了代码错误(或者仅能发现功能上的缺陷), 但与其他压力原则结合在一起时,您将可以增加发现问题的机会。

4 随机变化
最后一点,任何压力系统都多多 少少具有一些随机性。如果您随机使用前面的压力原则中介绍的无数变化形式,您就能够在每次测试运行时应用许多不同的代码路径。下面是几个关于怎样在测试生 命周期内改变测试的示例。使用重复时,在重新启动或重新连接服务之前,您可以改变重复操作间的时间间隔、重复的次数,或者也可以改变被重复的 Web 服务的顺序。使用并发,您可以改变一起执行的 Web 服务、同一时间运行的 Web 服务数目,或者也可以改变关于是运行许多不同的服务还是运行许多同样的实例的决定。量级或许是最容易更改的 — 每次重复测试时都可以更改应用程序中出现的变量(例如,发送各种大小的消息或数字输入值)。如果测试完全随机的话,因为很难一致地重现压力下的错误,所以 一些系统使用基于一个固定随机种子的随机变化。这样,用同一个种子,重现错误的机会就会更大。

测试是软件开发过程中至关重要的部分,并且一个重要的、经常被曲解或忽略的部分是压力测试。遵循上面详细说明的原则,就可以设计并实现有效的压力测试系统,用来查找一些与您代码相关的、比较隐蔽的问题。无论是利用预先写好的工具,还是创建一个完全专用的压力系统,压力测试都是用于查找 Web 服务(或其他任何程序)问题的本质方法,并能最终提高软件产品质量。

第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. 2000.
[15] Patrick Chan.The Java Developers Slmanac1.4 , Volume 2.Person Edition,Inc. 2002.

附 录
附1.0 MD5的Java Bean实现(md5加密用户密码):
省略

谢 辞
省略


5、资源下载

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

毕业设计方案专家

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

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

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

打赏作者

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

抵扣说明:

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

余额充值