基于JSPsqlserver的教学网站设计与实现毕业论文程序源码大家好今天给大家介绍基于JSPsqlserver的教学网站设计与实现文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦文章目录基于JSPsqlserver的教学网站设计与实现毕业论文程序源码1、项目简介2、资源详情3、关键词4、毕设简介5、资源下载1、项目简介通过操作系统教学网站的建设完成了对于操作系统课程的远程化授课。可以使学生不受时间空间的限制通过网络对于这门课程进行学习。建立起了基于B/C的网络化教学系统。本网站采用当前最流行的JSP网络编程技术可以实现数据的高效、动态、交互访问具有强大的Server/Client交互能力。本文中所做的主要工作介绍Win2000 JSP(J2DKTOMCAT)系统并且嵌入 JAVABEAN的一般原理阐述整个操作系统教学网站的概要设计系统结构及工作原理分析了系统实现中的特殊性、难点和重点详细设计实现学院介绍、教学资源、课程表、课堂教学、在线答疑、其他课程、课件下载、留言反馈、站内搜索、公告专栏、友情链接、校园风景、新闻中心、栏目导航等程序模块 各个模块的具体实现且分析并解决实现中的若干技术问题建立完整的实验网站进行测试并分析结果。2、资源详情项目难度中等难度适用场景相关题目的毕业设计配套论文字数20551个字52页包含内容全套源码配整论文3、关键词JAVABEAN JSP 网络教学 JAVASCRIPT JDBC4、毕设简介提示以下为毕业论文的简略介绍项目完整源码及完整毕业论文下载地址见文末。第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 对于ASPPHPJSP进行比较ASP(Active Server Pages)是一个WEB服务器端的开发环境 利用它可以产生和运行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VB ScriptJava 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 之外又有新的硕果就是JspJava 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 ServletJSP页面就具有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等数据库。浏览器通过eb Server 同数据库进行数据交互C/S的优点是能充分发挥客户端的处理能力很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个只适用于局域网。而随着互联网的飞速发展移动办公和分布式办公越来越普及这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术同时要对系统进行专门的设计来处理分布式的数据。客户端需要安装专用的客户端软件。首先涉及到安装的工作量其次任何一台电脑出问题如病毒、硬件损坏都需要进行安装或维护。特别是有很多分部或专卖店的情况不是工作量的问题而是路程的问题。还有系统软件升级时每一台客户机需要重新安装其维护和升级成本非常高。对客户端的操作系统一般也会有限制。只有通过采用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 relstylesheethrefstyle.csstypetext/cssscript languageJavaScripttypetext/JavaScript!--MM_reloadPage(true);functionMM_findObj(n,d){//v4.01varp,i,x;if(!d)ddocument;if((pn.indexOf(?))0parent.frames.length){dparent.frames[n.substring(p1)].document;nn.substring(0,p);}if(!(xd[n])d.all)xd.all[n];for(i0;!xid.forms.length;i)xd.forms[i][n];for(i0;!xd.layersid.layers.length;i)xMM_findObj(n,d.layers[i].document);if(!xd.getElementById)xd.getElementById(n);returnx;}functionMM_showHideLayers(){//v6.0vari,p,v,obj,argsMM_showHideLayers.arguments;for(i0;i(args.length-2);i3)if((objMM_findObj(args[i]))!null){vargs[i2];if(obj.style){objobj.style;v(vshow)?visible:(vhide)?hidden:v;}obj.visibilityv;}}//--/script自我测试是课堂教学版块设计过程中一个非常重要的部分对于每次提交的答案根据程序对其进行比较判断。在JSP中有一个非常重要对象session网页是一种无状态的程序从服务器端无法了解客户端的浏览状态。要记录用户的相关信息维持会话状态JavaServlet提供了一个在多个请求之间持续有效的会话对象。session支持这个功能与application对象不同的是session保存个人信息application保存公共信息[5]。因此可以取得session的数据来计算作题的时间。本系统实现的只是对于用户多作题的判断输出结果。以下为学生提交自测题后用于评判的程序for(vari0;idocument.forms.length;i){varobjdocument.forms[i];if(obj.elements.length0obj.elements[0].typeradio){for(varj0;jobj.elements.length;j){varelementobj.elements[j];if(element.typeradioelement.checked)ssanswer[sn]element.value;}if(!ssanswer[sn])ssanswer[sn]未答;if(ssanswer[sn]obj.id){totalscoressscore;messagetr aligncenter bgcolor#CCFFCCvaligncenter}else{flag0;messagetr aligncenter bgcolor#CCFFCC}sn;}elseif(obj.elements.length0obj.elements[0].typecheckbox){for(varj0;jobj.elements.length;j){elementobj.elements[j];if(element.typecheckboxelement.checked){if(!msanswer[mn])msanswer[mn]element.value;elsemsanswer[mn]element.value;}if(!msanswer[mn])msanswer[mn]未答;if(msanswer[mn]obj.id){totalscoremsscore;}else{flag0;}mn;}}课程的简介主要介绍计算机系统的核心软件–操作系统的基本概念、基本原理、主要功能及实现技术。重点讨论操作系统资源管理策略和方法、操作系统对并发活动的处理、操作系统的结构和用户界面。使用说明主要说明使用本课件的方法。学习指导对学习《操作系统原理》课程给予指导。课程学习本课件的核心部分包括操作系统原理的学习内容及其它必要环节。老师可以在课堂上当作课件作为课堂板书使用。学生可以当作自己学习的书本。课程练习在线自测通过若干组自测题进行练习并可及时了解测试结果。左侧的目录栏可以直接作为课程学习的导航区成树状。方便学生进行课程章节的查找。如下为分支的设计程序functionSwitch(dvn){varExpandSign;if(CloseOther){for(vari0;idocument.all.tags(DIV).length;i){ExpandSignnone;for(varJudgeLength1;JudgeLengthdvn.id.length;JudgeLength){varCurStrdvn.id.substring(0,JudgeLength);if(document.all.tags(DIV)[i].idCurStr){ExpandSign;break;}}if(ExpandSign!)document.all.tags(DIV)[i].style.displaynone;}}if(dvn.style.displaynone){dvn.style.display;}else{if(dvn.style.display){dvn.style.displaynone;}}}有两种方法进入课堂教学点击首页的“进入课堂教学”进入 “绪论”的第一页或者点击首页导航区的标题按钮进入相应的章节。在任一页面都有关于本章、本节、本知识点的链接同时相邻的知识点之间也有链接使得跳转非常方便。对内容较多的知识点进行分页相邻的页之间有链接。另外每一章都安排了练习可以点击每章的“本章练习”进入并集中列出了本章的关键字可以点击每章的“本章关键字”进入。在练习和关键字页面都有到本章内容的链接在关键字页面点击上面框中的关键字可以在下面框中看到该关键字的解释解释后面还附了关键字所在页面的链接可以点击进入。此外可以在留言版上对《操作系统原理》的教学网站的建设提出宝贵意见。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同时密码只能是字母和数字共26261062个字符排列组合出的字典的项数则是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.jspprefrace.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、资源下载本项目源码及完整论文如下有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。序号毕业设计全套资源点击下载本项目源码基于JSPsqlserver的教学网站设计与实现源码文档_jsp_BS架构_教学网站.zip