基于JSP+sqlserver的网上教学资源共享系统设计与实现(毕业论文+程序源码)
大家好,今天给大家介绍基于JSP+sqlserver的网上教学资源共享系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦
文章目录:
1、项目简介
- 通过网上教学资源共享系统的建设,完成了对于操作系统课程的远程化授课。可以使学生不受时间空间的限制,通过网络对于这门课程进行学习。建立起了基于B/C的网络化教学系统。本网站采用当前最流行的JSP网络编程技术,可以实现数据的高效、动态、交互访问,具有强大的Server/Client交互能力。本文中所做的主要工作:介绍Win +JSP(J2DK+TOMCAT)系统并且嵌入 JAVABEAN的一般原理;阐述整个网上教学资源共享系统的概要设计,系统结构及工作原理;分析了系统实现中的特殊性、难点和重点;详细设计实现学院介绍、教学资源、课程表、课堂教学、在线答疑、其他课程、课件下载、留言反馈、站内搜索、公告专栏、友情链接、校园风景、新闻中心、栏目导航等程序模块; 各个模块的具体实现,且分析并解决实现中的若干技术问题;建立完整的实验网站,进行测试并分析结果。
2、资源详情
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:20628个字53页
包含内容:全套源码+配整论文
开题报告、论文答辩、课题报告等ppt模板推荐下载方式:
3、关键词
JAVABEAN JSP 网上教学资源共享系统 JAVASCRIPT JDBC4、毕设简介
提示:以下为毕业论文的简略介绍,项目完整源码及完整毕业论文下载地址见文末。
第1章 JSP简介
1.1 JSP与本系统的开发
JSP是由Sun Microsystems公司倡导,许多公司参与一起建立的一种动态网页技术标准。是结合markup(HTML或XML)和JAVA代码来处理的一种动态页面。第一页第一次被调用的时候,通过JSP引擎自动编译成Servlet。然后执行,以后每次调用时,执行编译过的Servlet。Web应用的功能可以分为多个明确定义公共接口的组件,通过JSP将它们结合再一起。在选择本系统的开发语言时,作了非常全面的思考[2]。
省略
1.2 对于ASP,PHP,JSP进行比较
省略
1.3 利用JDBC访问数据库
JDBC()是一种操作SUN所支持的数据库的新技术。在JSP中,JDBC可以看作是一个服务器组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中个性化页面的实现便大量地用到了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的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。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-1 Feedback数据库实体关系图
图4-2 Score_gd数据库实体关系图
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 课堂教学模块结构图
自我测试是课堂教学版块设计过程中一个非常重要的部分,对于每次提交的答案,根据程序,对其进行比较判断。在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++;
}
}
课程的简介主要介绍计算机系统的核心软件–操作系统的基本概念、基本原理、主要功能及实现技术。重点讨论操作系统资源管理策略和方法、操作系统对并发活动的处理、操作系统的结构和用户界面。
使用说明主要说明使用本课件的方法。学习指导:对学习《操作系统原理》课程给予指导。课程学习:本课件的核心部分,包括操作系统原理的学习内容及其它必要环节。老师可以在课堂上当作课件作为课堂板书使用。学生可以当作自己学习的书本。课程练习:在线自测,通过若干组自测题进行练习,并可及时了解测试结果。左侧的目录栏可以直接作为课程学习的导航区,成树状。方便学生进行课程章节的查找。如下为分支的设计程序:
省略
有两种方法进入课堂教学,点击首页的“进入课堂教学”进入 “绪论”的第一页,或者点击首页导航区的标题按钮进入相应的章节。在任一页面,都有关于本章、本节、本知识点的链接,同时相邻的知识点之间也有链接,使得跳转非常方便。对内容较多的知识点进行分页,相邻的页之间有链接。另外,每一章都安排了练习,可以点击每章的“本章练习”进入;并集中列出了本章的关键字,可以点击每章的“本章关键字”进入。在练习和关键字页面,都有到本章内容的链接;在关键字页面,点击上面框中的关键字,可以在下面框中看到该关键字的解释,解释后面还附了关键字所在页面的链接,可以点击进入。此外可以在留言版上对《操作系统原理》的教学网站的建设提出宝贵意见。
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章 网站的安全性
网站的安全性是非常重要的,网站测试是软件开发的最后步骤,也是关键步骤。在测试过程中要全面检查程序的正确性,模块间的连接,功能的实现是否正确,开发的产品是否符合要求。
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. .
[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 |