java毕业设计——基于JSP+sqlserver的在线学习系统设计与实现(毕业论文+程序源码)——在线学习系统

基于JSP+sqlserver的在线学习系统设计与实现(毕业论文+程序源码)

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

文章目录:

1、项目简介

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


2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:20636个字49页
包含内容:全套源码+配整论文
开题报告、论文答辩、课题报告等ppt模板推荐下载方式:
在这里插入图片描述


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.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]。
省略

1.3 利用JDBC访问数据库
JDBC()是一种操作SUN所支持的数据库的新技术。在JSP中,JDBC可以看作是一个服务器组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中个性化页面的实现便大量地用到了JDBC技术。具体的操作步骤可以归纳为以下几步,安装J2SDK:
省略

第2章 系统需求分析
2.1与传统在线学习的比较
在线学习的在线学习系统目前的针对对象是教师和学生。以前,我们的在线学习主要是通过面对面的讲授。这样,有很多优势:教师可以与学生直接交流。但是也有许多不尽人意的地方:课堂在线学习很大程度上受到时间和空间的限制。浪费了在线学习资源同时对于学生的进一步的学习具有一定的局限性[2]。
省略

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所示。

表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的数据来计算作题的时间。本系统实现的只是对于用户多作题的判断,输出结果。以下为学生提交自测题后,用于评判的程序:
省略

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

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留言反馈模块结构图
本模块为JSP+Jeans+文本留言簿,进行简单说明。
style.css为CSS样式文件,统一该版块的风格,使页面看起来美观一致;
config.jsp全局变量(用户自定义参数,手动修改,包括管理密码);
index.jsp浏览留言 在本界面中留言者得输入姓名,电子邮件,主页名称,主页地址,选择性别,选择个性头像,填写留言内容;
省略

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值,分别存放用户的登陆信息和用户的权限信息,再调用页面自动跳转至管理首界面,
在登陆模块的设计过程中,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.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.5留言反馈版块的实现
留言是一般系统都有的功能,只有通过留言工作人员才能知道自己做的好还是坏,才能把自己的工作做好先通过进入留言的页面。用户按照界面进行留言与提交。
本页面通过jdbc与sql sevser 数据库进行连接,把留言的各项内容加入到数据库中的留言表中,让系统管理员进行查看。本页面的连接数据库用的方法是使用usebean 调用javabean。管理员可以对于留言进行管理。具体实现的留言薄如图6-13所
示。
分配给管理员回复留言的密码,管理员通过此页面回复留言,保证留言版面的时效性。在数据库中,留言与回复的记录是有区别的。这样管理起来很清晰,代码的编写也比较方便,如图6-14所示。
为了保证留言版的安全,或者追究责任,管理员可以通过该页面查看留言者的IP地址。主要是通过调查用户的session就可以获得,有关于用户主机的相关信息。采用JSP提供的对象进行直接调用。

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

第8章 系统开发难点与技巧
  在系统的开发过程中,我遇到了一些问题和难点。通过查阅书籍这些问题基本都得到解决,现将系统开发的难点与技巧总结如下:
1 中文的乱码问题的解决方法 
在JSP页面中首先,在HTML的head标签内加入meta信息为其作用是告诉客户端浏览器,这个HTML为GBK编码文件。在JSP中加入以下的一句编译指令,定义JSP程序使用字符集为GBK<%@ page contentype=”text/html; charset= GBK”%>这样就保证了JSP服务器引擎将会把JSP的输出以GBK编码的形式输出。
2 在JSP和BEAN中加载数据驱动
加载数据驱动需要三个JAVA包 ,即msbase.jar mssqlserver.jar和msutil.jar.下载后放在Tomcat目录下的commom/lib文件夹下即可。接着使用JDBC驱动中的DriverManager类中的getconnectin()方法与数据库建立连接。Connection conn= river Manager.getConnection(url,user,password)。
3 sql_data的错误
使用Java 平台开发比较大型的系统时,经常需要在Bean之间进行相互调用,包括功能调用和参数调用。有时会出现“无法定位sql_data”的错误,使调试失败。可以在classpath环境变量中加入”d:\JSP_WEB\Iofosite\WEB-INF\classes”这个目录。
4 Java类名注意事项
建立Bean类的时候注意。Java的类名必须与类的文件名称相同,否则编译会出错。
5 JSP大小写敏感
在编写一个JSP程序时一定注意不要将大小写混淆。另外,在浏览器的地址栏中输入地址也是区分大小写的。
6 判断两个字符串是否相同
在JSP中判断两个字符串是否相同,要使用compareTo或者equals()方法,不要用“=”号,因为在JAVA中String变量不是一个简单的变量而是一个类实例。
7 代码进的块化处理
对代码进行模块化处理,可以提高代码的复用性及提高开发速度。代码的模块化处理,包括将需要的进行复用的代码编写成一个子程序后者函数,或者一个类,以便使用时进行调用。将代码太长饿函数按功能分解为几个函数的调用,这些会大大提高程序的可读性和维护性。
8 系统特点
(1) 所有管理用户可以在线修改自己的资料、密码,使得系统更安全管理用户可以在后台进行留言交流。
(2) 可以在后台进行数据库的备份、恢复,并可以执行SQL语句;可以查看服务器的变量。
(3) 后台可以方便查看学生提交的相关文档,以及课件的数量与更新情况,新闻,介绍等文章。
(4) 文件的上下载功能的实现,以及相关内容的显示。
(5) 管理员用户分级管理,权责分明。有利于系统的建设与稳定。分为超级管理员,教师,学生。

结 论
在学习了基于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.

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

谢 辞
省略


5、资源下载

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

序号毕业设计全套资源(点击下载)
本项目源码基于JSP+sqlserver的在线学习系统设计与实现(源码+文档)_jsp_BS架构_在线学习系统.zip
建设网站主要包括:教学管理人员和学员对系统的登陆功能;教学管理人员对学员、课程、考试成绩等信息的检索和维护功能;学员对个人信息检索和维护,对在线选课和成绩等信息的检索功能。 4. 系统需求分析与概要设计系统应该完成以下工作: 1.用户等级分为未登录用户和登录用户,而登录用户包括学员,班主任和网站管理员。 2.网院概况,即网络教育学院的介绍。目的是让网上用户可以了解本网络教育学院信息, 规章制度和学院拥有的教学站。 3.新闻中心,目的是让网上用户可以了解学院新闻和教务通知。 4.招生专栏,目的是让网上用户了解最新的招生简章、招生计划、专业设置以及用户遇到的常见问题和咨询联系方式。 5.学习专栏,目的是让网上用户可以了解关于学习方面的动态,比如教务通知、教学计划、考试安排。并通过网上学习掌握知识,比如毕业设计辅导等。 7.网上导航,目的是让网上用户方便的浏览该网站。 8.学生功能,以学生身份登陆后访问,进行在线学习相关功能。包含在线选课、 注册考试、注册考试查询、成绩查询、学分查询、个人信息查询和修改、申请毕业 等功能。 9.班主任功能,以班主任身份登陆后访问,进行对班上学生管理的相关功能。包含班级学生选课查询,班级学生注册考试查询,班级学生考试成绩查询,班级学 生信息查询等功能。 10.管理员功能,以管理员身份登陆后访问,进行网站管理员功能。包含网站信息修改,新闻和通知的维护等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

毕业设计方案专家

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

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

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

打赏作者

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

抵扣说明:

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

余额充值