版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生毕业设计设计题目:基于JSP在线培培训系统学生姓名:学生学号:指引教师:二级院系:专业班级:完毕时间:目录摘要 IVAbstract V第1章概述 11.1课题背景 11.2课题意义 21.3开发工具及技术 21.3.1MyEclipse 21.3.2Tomcat 21.3.3SqlServer 31.3.4JSP 3第2章可行性分析及总体设计原则 52.1可行性分析 52.1.1技术可行性 52.1.2经济可行性 52.1.3社会可行性 52.2总体设计原则 6第3章系统分析 73.1业务流程分析 73.2数据流图 7第4章系统设计 94.1系统功能设计 94.2数据库设计 104.2.1概念构造设计 104.2.2数据库表设计 13第5章系统实现 165.1管理员登录 165.2管理员功能模块 185.2.1公示信息管理 185.2.2答疑信息管理 215.2.3学习资料管理 235.2.4视频信息管理 275.2.5修改个人密码 305.3前台网站功能模块 305.3.1网站首面 305.3.2学习资料下载 315.3.3学习视频下载 335.3.7在线答疑模块 36第6章软件测试 376.1软件测试重要性 376.2测试实例研究与选取 376.3测试环境与测试条件 386.4系统运营状况 386.5系统评价 38第7章结论 39参照文献 40道谢 42摘要本文采用自顶向下构造化系统分析办法,阐述了一种功能全面在线培训系统开发过程、操作流程及其某些核心技术。本文一方面进行了项目概述,简朴简介了项目开发背景、项目开发目和项目开发意义;接下来是系统规划阶段,通过实际业务流程调研,分析了系统组织构造,详细完毕了在线培训系统需求分析、可行性分析、现行业务流程分析,并通过对现行业务流程优化,得出了系统业务流程;之后是系统分析,详细完毕了数据流分析和数据字典;系统设计阶段重要完毕了功能模块划分、数据库设计和系统界面设计。该阶段对各个模块功能进行了详细设计,形成了本系统功能模块图,在此基本上选取了适当开发模式;数据库设计先进行了概念构造设计,之后进行了逻辑构造设计,最后完毕了数据库表设计。依照前几种阶段分析和设计,本系统在设计方面采用B/S模式,同步使用JSP技术进行基本页面设计与功能实现,后台数据库选用SQLSERVER数据库。本系统设计实行为在线培训系统运营做基本,为在线培训系统提供良好条件。核心词:构造化分析;B/SAbstractKeyWords:structuralanalysis;B/S第1章概述1.1课题背景在21世纪这个信息高度发达,并且高速流通时代,计算机普及以及计算机网络技术应用,让大量普通人可以有机会接触到比以往更多知识。建立一种自己在线培训系统是十分必要事情,这不但能使更多人享用宝贵教诲资料源,同步也对于提高学生自学能力,有相称大协助。随着互联网技术飞速发展,运用网络进行学习已经成为时代发展必然趋势,建立在线培训系统,尽量提高优质学习运用率,对实现人才培养,增进社会经济发展都能起到十分重要作用。也可以引导顾客积极年该学习,提高学习效率,更为学习双方提供一种进行写作学习和交流平台。人口多而教诲资源缺少影响着国内受过高等教诲人在人口比例中所占比重,这严重制约了国内社会发展与进步,这对于提高国内国民文化科学素养十分不利。如何才干让更多人享有少某些人拥有精品教诲资源呢?对于这个问题,前人已经做了大量研究。随着计算机技术以及计算机网络技术飞速发展,人们终于找到了一条实现这种梦想捷径,那就是寄但愿于把各种教诲资源移置到互联网上去,使得各地方人都可以以便获取到各种自己想要知识,打破老式教诲资源分派不均限制,使得更多人可以有机会获取到知识。近年来,学校学生数量逐渐增长,人工书写学习方式已经不能满足如此庞大数据。为了更好适应信息时代高效性,一种运用计算机来实现学校在线培训系统管理工作系统将必然诞生。基于这一点,设计了一种在线培训系统,用来就学生在线培训系统进行管理,以便在最短时间内,高效精确完毕整个学习程。基于对上述结识,收集有关资料和数据,查阅关于文献及技术参数,对学校实际需求等方面进行了调研,发现当前所采用手工记录办法进行管理存在如下几种方面弊端:对象范畴广,数据存储不易;填写数据多,且大量数据重复;不易存档,成千上万信息和堆积如山单据对管理人员来说是一种承担,需要大量文档资料。鉴于以上种种因素,学校学习管理急需一种软件来代替手工操作来管理数据资料。计算机技术在当代管理中应用,使计算机成为领导者和管理人员应用当代技术重要工具[1]。计算机辅助高校管理活动,可以极大地增强管理者采集、解决信息能力,从而有助于管理者及时决策。计算机系统能依照管理过程变化状况,将原始数据、资料等进行加工、保存,管理人员可以在解决详细问题需要信息资料时,随时进行检索查询,理解整个在线培训系统动态状况,进行动态管理,从而有效解决在线培训系统管理工作,实当前线培训系统信息管理自动化,提高办学效率。1.2课题意义与老式教诲相比,网络学习培训是一种全新教诲模式,它可以突破时间和空间限制,让更多学习者共享先进教诲资源。网络学习培训既具备开放性、交互性、协作性和自主性等特点,有具备异步性、实时性、生动性、集成性和大容量等优势。因而在网络学习培训平台系统建设中,单纯地构建各种功能单一系统并不能完全满足网络学习培训平台建设规定,只有那些对数据和信息进行有效组织,整合了各种业务,为顾客提供个性化服务系统才干充分地发挥精品课程学习平台作用。建设网络培训系统主线目是运用当代化教诲信息技术手段将有关学习知识内容上网并免费开放,以实现优质学习资源共享,提高学习质量和人才培养质量。1.3开发工具及技术1.3.1MyEclipse,是一种十分先进用于开发Java,J2EEEclipse插件集合,MyEclipse功能非常强大,支持也十分广泛,特别是对各种开元产品支持十分不错。MyEclipse公司级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE扩展,运用它咱们可以在数据库和JavaEE开发、发布,以及应用程序服务器整合方面极大提高工作效率。它是功能丰富JavaEE集成开发环境,涉及了完备编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,SQL,Hibernate。1.3.2TTomcat是一种小型轻量级应用服务器,在中小型系统和并发访问顾客不是诸多场合下被普遍使用,是开发和调试JSP程序首选。可以这样以为,当在一台机器上配备好Apahce服务器,可运用它响应对HTML页面访问祈求。事实上Tomcat某些是Apache服务器扩展,但它是独立运营,因此当运营tomcat时,它事实上作为一种与Apache独立进程单独运营。1.3.3SqlSQL(StructuredQueryLanguage),构造化查询语言。SQL语言重要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国标协会)规定,SQL被作为关系型数据库管理系统原则语言。SQL语句可以用来执行各种各样操作,例如更新数据库中数据,从数据库中提取数据等。绝大多数流行关系型数据库管理系统都采用了SQL语言原则。虽然诸多数据库都对SQL语句进行了再开发和扩展,但是涉及Select,Insert,Update,Delete,Create,以及Drop在内原则SQL命令依然可以被用来完毕几乎所有数据库操作。1.3.4JSP技术使用Java编程语言编写类XMLtags和scriptlets,来封装产生动态网页解决逻辑。网页还能通过tags和scriptlets访问存在于服务端资源应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用基于组件设计,使基于Web应用程序开发变得迅速和容易。Web服务器在遇到访问JSP网页祈求时,一方面执行其中程序段,然后将执行成果连同JSP文献中HTML代码一起返回给客户。插入Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要功能。JSP与Servlet同样,是在服务器端执行,普通返回给客户端就是一种HTML文本,因而客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中Java代码所构成。服务器在页面被客户端祈求后来对这些Java代码进行解决,然后将生成HTML页面返回给客户端浏览器。Servlet是JSP技术基本,并且大型Web应用程序开发需要JavaServlet和JSP配合才干完毕。JSP具备了Java技术简朴易用,完全面向对象,具备平台无关性且安全可靠,重要面向因特网所有特点。JSP技术长处:(1)一次编写,处处运营。除了系统之外,代码不用做任何更改。(2)系统多平台支持。基本上可以在所有平台上任意环境中开发,在任意环境中进行系统布置,在任意环境中扩展。相比ASP/.net局限性是显而易见。(3)强大可伸缩性。从只有一种小Jar文献就可以运营Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务解决,消息解决,一台服务器到无数台服务器,Java显示了一种巨大生命力。(4)多样化和功能强大开发工具支持。Java已有了许多非常先进开发工具,并且许多可以免费得到,并且其中许多已经可以顺利运营于各种平台之下。(5)支持服务器端组件。web应用需要强大服务器端组件来支持,开发人员需要运用其她工具设计实现复杂功能组件供web页面调用,以增强系统性能。JSP可以使用成熟JAVABEANS组件来实现复杂商务功能。内部对象阐明:request客户端祈求,此祈求会包括来自GET/POST祈求参数;response网页传回客户端响应;pageContext网页属性是在这里管理;session与祈求关于会话;applicationservlet正在执行内容;out用来传送响应输出流;config代码片段配备对象;pageJSP网页自身;exception针对错误网页,未捕获例外。第2章可行性分析及总体设计原则2.1可行性分析可行性分析也称为可行性研究,是在调查基本上,针对新系统开发与否具备必要性和也许性,对新系统开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统开发成功[2]。可行性研究目就是用最小代价在尽量短时间内拟定问题与否可以解决。下面将分别从技术、经济、社会三个方面对在线培训系统建设进行分析和研究。2.1.1技术可行性依照网络培训系统系统功能、性能及实现系统各种约束条件,依照新系统目的来衡量所需技术与否具备,本系统是一种数据库管理和查询系统,既有技术已较为成熟,硬件、软件性能规定、环境条件等各项条件良好,预计运用既有技术条件应完全可以达到该系统功能目的。同步,考虑予以开发期限也较为充裕,预测系统是可以在规定期限内完毕开发。由以上分析可知,在线培训系统开发在技术上是可行2.1.2经济可行性学校具备信息化解决设施,并且拥有支持本系统应用平台。因而无需再投入资金购买其她设施。系统开发基于本人对程序开发实践学习而来,学校无需资金投入,并且软件开发过程投入成本不高,因而开发经费完全可以接受。由以上分析可知,在线培训系统在经济上是可行。2.1.3本系统社会可行性重要从法律因素、顾客使用可行性两方面进行研究。(1)法律因素本系统是依照在线培训系统实际状况开发研制,是通过大量调研得出,系统软件设计是在独立环境下完毕,无可供抄袭软件产品。(2)顾客使用可行性本系统对顾客规定,除了需要具备在MicrosoftWindows平台上使用个人电脑知识外,并不需要特别技术能力。使用系统管理员,需要具备对Tomcat服务器使用能力,在投入使用前,无需对操作系统人员进行培训。这样既减少投入成本又简化了操作环节。由以上分析可知,本系统具备社会可行性。2.2总体设计原则本系统为了设计、实现和后期维护以便,以及系统顾客使用便利,因此必要采用一定设计原则。其重要设计原则有:简朴性:在实现系统功能同步,尽量让系统操作简朴易懂,这对于一种系统来说是非常重要。针对性:本系统设计是针对在线培训系统需求定向开发设计,因此具备专业突出和很强针对性。实用性:规定本系统可以满足在线培训系统需求,因而具备良好实用性。一致性:页面整体设计风格以及命名规则一致性:整体页面布局和用图用色风格及变量、类名和其她元素命名规则保持一致。功能一致性:完毕同样功能应当尽量使用同样元素。元素风格一致性:界面元素美观风格、摆放位置在同一种界面和不同界面之间都应当是一致。变量命名规则一致性:变量应当用统一规则进行命名,做到任意变量均能从上下文推断其义。先进性:本系统采用JSP技术、SQLSERVER等被广泛采用系统开发技术和数据库,因而本设计具备良好先进性,详细体当前其具备良好可扩展性,可开发性。第3章系统分析3.1业务流程分析在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节解决业务、解决内容、解决顺序和对解决时间规定,弄清各个环节需要信息、信息来源、流经去向、解决办法、计算办法、提供信息时间和信息形态(报告、报单、屏幕显示)等[4]。业务流程分析可以协助开发者理解该业务解决过程,发现和解决系统调查工作中错误和疏漏。业务流程分析是通过业务流程图来进行,即用某些规定符号及连线来表达某个详细业务解决过程[5]。图3.1业务流程图3.2数据流图数据流程是指数据在系统中产生、传播、加工解决、使用、存储过程[6]。数据流程分析是把数据在现行系统内部流动抽象独立起来,舍去了详细组织机构、信息载体、解决工具、物质、材料等,单从数据流动过程来考查实际业务数据解决模式。数据流程与数据流程分析是此后建立数据库系统和设计功能模块解决过程基本。描述数据流程工具是数据流程图以及其附带数据字典、解决逻辑等图表。其中数据流程图是描述系统逻辑模型重要工具,它以少数几种符号综合地反映出信息在系统中流动、存储和传递[7]。在业务流程分析基本上,对数据流进行了分析,从数据流动过程考察了实际业务数据解决模式。该系统数据流图分为顶层、一层、二层。现行顶层数据流图如图3.2所示。图3.2顶层数据流图详细分析第一层数据流图,该层数据流图如图3.3所示。图3.3第一层数据流图由于论文篇幅限制不能一一列举数据流图,只给出了某些数据流图,其她数据流图基本一致。第4章系统设计4.1系统功能设计系统设计是一种把软件需求转换成用软件系统表达过程。通过对目的系统分析和研究,做出了在线培训系统总体规划,这是全面开发系统重要基本。在对在线培训系统全面分析调查基本上,制定出在线培训系统总体规划。系统设计涉及系统总体设计、系统详细设计、系统数据库设计、系统开发工具、开发技术和开发模式等。从数据流图出发,对数据流图进行分析,得出层次化模块构造图.在线培训系统前台功能模块图如图4-1所示:图4-1前台功能模块图在线培训系统后台功能模块图如图4-2所示:图4-2在线培训系统后台功能模块图4.2数据库设计数据库是本系统核心和基本。它设计好坏直接影响着整个系统质量。数据是一切系统设计基本,通俗地说,数据库设计就像高楼大厦根基同样,如果设计不合理、不完善,将在系统开发过程中,甚至到后期系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完毕工作。4.2.1从数据需求分析中得出系统实体属性图。(1)管理员实体属性图如图4-3所示:图4-3管理员实体属性图(2)会员信息实体属性图如图4-5所示:图4-4会员实体属性图(3)学习资料实体属性图如图4-7所示:图4-7学习资料实体属性图(4)公示信息实体属性图如图4-8所示:图4-8公示信息实体属性图(5)答疑信息实体属性图如图4-9所示:图4-9答疑信息实体属性图(6)教学视频信息实体属性图如图4-10所示:图4-10视频信息实体属性图4.2.(1)管理员信息表(t_admin)管理员信息表重要用于系统管理员信息,重要字段涉及:编号、登陆账号、登陆密码。表4.13管理员信息表(t_admin)字段名数据类型字段描述长度主键userIdInt编号10√userNamevarchar登陆账号50userPwvarchar登陆密码50(2)学习资料信息表(t_doc)学习资料信息表重要用于管理员发布学习资料信息,重要字段涉及:编号、标题、简介等。表4.14学习信息表(t_doc)字段名数据类型字段描述长度主键idInt编号10√titlevarchar标题50contentvarchar内容50fujianvarchar附件50fujianYuanshimingvarchar附件原始名50shijianvarchar发布时间50(3)视频信息表(t_shipin)学习视频信息表重要用于管理员发布视频信息,重要字段涉及:编号、视频标题、附件等。表4.15学习视频信息表(t_shipin)字段名数据类型字段描述长度主键IdInt编号10√titlevarchar标题50contentvarchar内容50fujianvarchar附件50shijianvarchar发布时间50(4)会员信息表(t_user)学生表重要存储学生基本信息,重要字段涉及:ID、学号、姓名、性别、年龄、登录帐号、登录密码等。表4.17学生信息表(t_stu)字段名数据类型字段描述长度主键idInt编号10√loginnamevarchar账号50loginpwvarchar密码50xingmingvarchar姓名50(5)自测题目信息表(t_timu)自测题目信息表重要存储测试题目基本信息,重要字段涉及:ID、学号、姓名、性别、年龄、登录帐号、登录密码等。表4.17学生信息表(t_stu)字段名数据类型字段描述长度主键idInt编号10√namevarchar题目名称50xuanxiangavarchar选项A500xuanxiangbvarchar选项B500xuanxiangcvarchar选项C500xuanxiangdvarchar选项D500daanvarchar题目答案500fenshuInt题目分数5(6)公示信息表(t_gonggao)公示信息表重要存储管理员发布公示信息,重要字段涉及:ID、公示标题、公示内容、发布时间等。表4.19公示信息表(t_gonggao)字段名数据类型字段描述长度主键idIntID10√titlevarchar公示标题50contentvarchar公示内容5000shijianvarchar发布时间50(7)答疑信息表(t_liuyan)公示信息表重要存储学生和教师答疑信息,重要字段涉及:ID、答疑标题、答疑内容、答疑时间等。表4.20答疑信息表(t_liuyan)字段名数据类型字段描述长度主键idIntID10√titlevarchar公示标题50contentvarchar公示内容5000shijianvarchar发布时间50第5章系统实现5.1管理员登录图4.1系统登陆页面设计 publicStringlogin(StringuserName,StringuserPw,intuserType) { Stringresult="no"; if(userType==0)//系统管理员登陆 { Stringsql="select*fromt_adminwhereuserName=?anduserPw=?"; Object[]params={userName,userPw}; DBmydb=newDB(); mydb.doPstm(sql,params); try { ResultSetrs=mydb.getRs(); booleanmark=(rs==null||!rs.next()?false:true); if(mark==false) { result="no"; } else { result="yes"; TAdminadmin=newTAdmin(); admin.setUserId(rs.getInt("userId")); admin.setUserName(rs.getString("userName")); admin.setUserPw(rs.getString("userPw")); WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); session.setAttribute("userType",0); session.setAttribute("admin",admin); } rs.close(); } catch(SQLExceptione) { System.out.println("登录失败!"); e.printStackTrace(); } finally { mydb.closed(); } }5.2管理员功能模块5.2.1公示信息管理5.2.1.描述:管理员输入公示有关对的信息后点击录入按钮,如果是没有输入完整公示信息,都会给出相应错误提示,不能录入成功。输入数据都通过form表单中定义办法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种校验输入数据方式。2.程序效果图如下图5.12所示:图5.12公示信息录入5.2.1.描述:管理员点击左侧菜单“公示信息管理”,页面跳转到公示信息管理界面,调用后台action类查询出所有公示信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应jsp,显示出公示信息。2.程序效果图如下图5.13所示图5.13公示信息管理页面公示信息管理核心代码: publicvoidgonggaoAdd(HttpServletRequestreq,HttpServletResponseres) { Stringid=String.valueOf(newDate().getTime()); Stringtitle=req.getParameter("title"); Stringcontent=req.getParameter("content"); Stringshijian=newDate().toLocaleString(); Stringsql="insertintot_gonggaovalues(?,?,?,?)"; Object[]params={id,title,content,shijian}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","gonggao?type=gonggaoMana");StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoidgonggaoDel(HttpServletRequestreq,HttpServletResponseres) { Stringid=req.getParameter("id"); Stringsql="deletefromt_gonggaowhereid=?"; Object[]params={id}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","gonggao?type=gonggaoMana");StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoidgonggaoMana(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException { ListgonggaoList=newArrayList(); Stringsql="select*fromt_gonggao"; Object[]params={}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); while(rs.next()) { Tgonggaogonggao=newTgonggao(); gonggao.setId(rs.getString("id")); gonggao.setTitle(rs.getString("title")); gonggao.setContent(rs.getString("content")); gonggao.setShijian(rs.getString("shijian")); gonggaoList.add(gonggao); } rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); req.setAttribute("gonggaoList",gonggaoList); req.getRequestDispatcher("admin/gonggao/gonggaoMana.jsp").forward(req,res); }5.2.11.描述:先是点击公示信息管理,页面跳转到公示信息管理界面,浏览所有公示信息,点击要查看公示信息,弹出公示信息详细信息界面。.描述:先是点击公示信息管理,页面跳转到公示信息管理界面,浏览所有公示信息,点击要删除公示信息,弹出拟定对话框,即可删除该公示信息。5.2.2答疑信息管理在线答疑信息1.描述:管理员点击左侧菜单“在线答疑信息管理”,页面跳转到在线答疑信息管理界面,调用后台action类查询所有在线答疑信息。2.程序效果图如下图5.14所示图5.14在线答疑信息管理在线答疑信息管理核心代码: publicvoidliuyanDel(HttpServletRequestreq,HttpServletResponseres) { Stringid=req.getParameter("id"); Stringsql="deletefromt_liuyanwhereid=?"; Object[]params={id}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","liuyan?type=liuyanMana");StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoidliuyanMana(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException { ListliuyanList=newArrayList(); Stringsql="select*fromt_liuyan"; Object[]params={}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); while(rs.next()) { Tliuyanliuyan=newTliuyan(); liuyan.setId(rs.getString("id")); liuyan.setTitle(rs.getString("title")); liuyan.setContent(rs.getString("content")); liuyan.setShijian(rs.getString("shijian")); liuyan.setUser_id(rs.getString("user_id")); liuyan.setUser_name(liuService.getUserName(rs.getString("user_id"))); liuyanList.add(liuyan); } rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); req.setAttribute("liuyanList",liuyanList); req.getRequestDispatcher("admin/liuyan/liuyanMana.jsp").forward(req,res); }在线答疑1.描述:先是点击在线答疑信息管理,页面跳转到在线答疑信息管理界面,浏览所有在线答疑信息,点击要删除在线答疑信息,即可删除该在线答疑信息。5.2.3学习资料管理1.描述:管理员输入资料有关对的信息后点击录入按钮,如果是没有输入完整资料经理信息,都会给出相应错误提示,不能录入成功。输入数据都通过form表单中定义办法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种校验输入数据方式。2.程序效果图如下图5.15所示:图5.15资料信息录入资料1.描述:管理员点击左侧菜单“资料管理”,页面跳转到资料管理界面,调用后台servlet类查询所有资料信息。2.程序效果图如下图5.16所示图5.16资料信息管理资料管理核心代码: publicvoiddocAdd(HttpServletRequestreq,HttpServletResponseres) { Stringid=String.valueOf(newDate().getTime()); Stringtitle=req.getParameter("title"); Stringcontent=req.getParameter("content"); Stringfujian=req.getParameter("fujian"); StringfujianYuanshiming=req.getParameter("fujianYuanshiming"); Stringshijian=req.getParameter("shijian"); Stringdel="no"; Stringsql="insertintot_docvalues(?,?,?,?,?,?,?)"; Object[]params={id,title,content,fujian,fujianYuanshiming,shijian,del}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","doc?type=docMana");StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoiddocDel(HttpServletRequestreq,HttpServletResponseres) { Stringid=req.getParameter("id"); Stringsql="deletefromt_docwhereid=?"; Object[]params={id}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","doc?type=docMana");StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoiddocMana(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException { ListdocList=newArrayList(); Stringsql="select*fromt_docwheredel='no'"; Object[]params={}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); while(rs.next()) { Tdocdoc=newTdoc(); doc.setId(rs.getString("id")); doc.setTitle(rs.getString("title")); doc.setContent(rs.getString("content")); doc.setFujian(rs.getString("fujian")); doc.setFujianYuanshiming(rs.getString("fujianYuanshiming")); doc.setShijian(rs.getString("shijian")); docList.add(doc); } rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); req.setAttribute("docList",docList); req.getRequestDispatcher("admin/doc/docMana.jsp").forward(req,res); }1.描述:先是点击资料管理,页面跳转到资料管理界面,浏览所有资料信息,点击要删除资料,弹出拟定对话框,即可删除该资料信息。5.2.4视频信息管理1.描述:管理员输入视频有关对的信息后点击录入按钮,如果是没有输入完整视频经理信息,都会给出相应错误提示,不能录入成功。输入数据都通过form表单中定义办法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种校验输入数据方式。2.程序效果图如下图5.17所示:图5.17视频信息录入视频1.描述:管理员点击左侧菜单“视频管理”,页面跳转到视频管理界面,调用后台servlet类查询所有视频信息。2.程序效果图如下图5.18所示图5.18视频信息管理视频管理核心代码: publicvoidshipinAdd(HttpServletRequestreq,HttpServletResponseres) { Stringid=String.valueOf(newDate().getTime()); Stringtitle=req.getParameter("title"); Stringcontent=req.getParameter("content"); Stringfujian=req.getParameter("fujian"); StringfujianYuanshiming=req.getParameter("fujianYuanshiming"); Stringshijian=req.getParameter("shijian"); Stringdel="no"; Stringsql="insertintot_shipinvalues(?,?,?,?,?,?,?)"; Object[]params={id,title,content,fujian,fujianYuanshiming,shijian,del}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","shipin?type=shipinMana");StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoidshipinDel(HttpServletRequestreq,HttpServletResponseres) { Stringid=req.getParameter("id"); Stringsql="deletefromt_shipinwhereid=?"; Object[]params={id}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","shipin?type=shipinMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoidshipinMana(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException { ListshipinList=newArrayList(); Stringsql="select*fromt_shipinwheredel='no'"; Object[]params={}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); while(rs.next()) { Tshipinshipin=newTshipin(); shipin.setId(rs.getString("id")); shipin.setTitle(rs.getString("title")); shipin.setContent(rs.getString("content")); shipin.setFujian(rs.getString("fujian")); shipin.setFujianYuanshiming(rs.getString("fujianYuanshiming")); shipin.setShijian(rs.getString("shijian")); shipinList.add(shipin); } rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); req.setAttribute("shipinList",shipinList); req.getRequestDispatcher("admin/shipin/shipinMana.jsp").forward(req,res); }1.描述:先是点击视频管理,页面跳转到视频管理界面,浏览所有视频信息,点击要删除视频,弹出拟定对话框,即可删除该视频信息。5.2.5修改个人密码1.描述:输入顾客名和顾客原有密码,输入新密码后来点击修改按钮即可修改密码成功。2.程序效果图如图5.21所示:图5.21修改密码5.3前台网站功能模块5.3.1网站首面1.描述:前台首页是浏览者打开一种网站后第一眼看到网页,网站能不能吸引浏览者,在很大限度上取决于首页做得怎么样。首页包括内容虽然丰富但不杂乱,色彩搭配要合理,整体风格要独特。2.程序效果图如下图5.22所示:图5.22网站首页5.3.2学习资料下载1.描述:点击网站主页菜单学习资料,进入学习资料信息列表,点击资料信息浏览详细内容,并可如下载。2.程序效果图如下图5.23所示:图5.23学习资料下载学习资料下载核心代码: publicvoiddocAll(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException { ListdocList=newArrayList(); Stringsql="select*fromt_docwheredel='no'"; Object[]params={}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); while(rs.next()) { Tdocdoc=newTdoc(); doc.setId(rs.getString("id")); doc.setTitle(rs.getString("title")); doc.setContent(rs.getString("content")); doc.setFujian(rs.getString("fujian")); doc.setFujianYuanshiming(rs.getString("fujianYuanshiming")); doc.setShijian(rs.getString("shijian")); docList.add(doc); } rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); req.setAttribute("docList",docList); req.getRequestDispatcher("qiantai/doc/docAll.jsp").forward(req,res); } publicvoiddocDetailQian(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException { Stringid=req.getParameter("id"); Tdocdoc=newTdoc(); Stringsql="select*fromt_docwhereid=?"; Object[]params={id}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); rs.next(); doc.setId(rs.getString("id")); doc.setTitle(rs.getString("title")); doc.setContent(rs.getString("content")); doc.setFujian(rs.getString("fujian")); doc.setFujianYuanshiming(rs.getString("fujianYuanshiming")); doc.setShijian(rs.getString("shijian")); rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); req.setAttribute("doc",doc); req.getRequestDispatcher("qiantai/doc/docDetailQian.jsp").forward(req,res); }5.3.3学习视频下载1.描述:点击网站主页菜单学习视频,进入学习视频信息列表,点击视频标题信息超链接,可以在线观看视频,登录系统后可如下载该视频。2.程序效果图如下图5.24所示:图5.24学习视频下载学习视频下载核心代码: publicvoidshipinAll(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException { ListshipinList=newArrayList(); Stringsql="select*fromt_shipinwheredel='no'"; Object[]params={}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); while(rs.next()) { Tshipinshipin=newTshipin(); shipin.setId(rs.getString("id")); shipin.setTitle(rs.getString("title")); shipin.setContent(rs.getString("content")); shipin.setFujian(rs.getString("fujian")); shipin.setFujianYuanshiming(rs.getString("fujianYuanshiming")); shipin.setShijian(rs.getString("shijian")); shipinList.add(shipin); } rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); req.setAttribute("shipinList",shipinList); req.getRequestDispatcher("qiantai/shipin/shipinAll.jsp").forward(req,res); } publicvoidshipinDetailQian(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException { Stringid=req.getParameter("id"); Tshipinshipin=newTshipin(); Stringsql="select*fromt_shipinwhereid=?"; Object[]params={id}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); rs.next(); shipin.setId(rs.getString("id")); shipin.setTitle(rs.getString("title")); shipin.setContent(rs.getString("content")); shipin.setFujian(rs.getString("fujian")); shipin.setFujianYuanshiming(rs.getString("fujianYuanshiming")); shipin.setShijian(rs.getString("shijian")); rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); req.setAttribute("shipin",shipin); req.getRequestDispatcher("qiantai/shipin/shipinDetailQian.jsp").forward(req,res); }5.3.7在线答疑模块1.描述:注册顾客通过该模块实现实时答疑功能。2.程序效果图如下图5.28所示:图5.28系统答疑界面第6章软件测试测试是开发时期最后一种阶段,是保证软件质量重要手段。软件测试就是在受控制条件下对系统或应用程序进行操作并评价操作成果过程,所谓控制条件应涉及正常条件与非正常条件。软件测试过程中应当故意地去促使错误发生,也就是事情在不该浮现时候浮现或者在应当浮现时候没有浮现。从本质上说,软件测试是"探测",在“探测”中发现软件毛病。6.1软件测试重要性软件测试在软件生命周期中占据重要地位,在老式瀑布模型中,软件测试学仅处在运营维护阶段之前,是软件产品交付顾客使用之前保证软件质量重要手段。近来,软件工程界趋向于一种新观点,即以为软件生命周期每一阶段中都应包括测试,从而检查本阶段成果与否接近预期目的,尽量早发现错误并加以修正,如果不在初期阶段进行测试,错误延时扩散经常会导致最后成品测试巨大困难。[19]事实上,对于软件来讲,无论采用什么技术和什么办法,软件中依然会有错。采用新语言、先进开发方式、完善开发过程,可以减少错误引入,但是不也许完全杜绝软件中错误,这些引入错误需要测试来找出,软件中错误密度也需要测试来进行预计。测试是所有工程学科基本构成单元,是软件开发重要某些。自有程序设计那天起测试就始终随着着。登记表白,在典型软件开发项目中,软件测试工作量往往占软件开发总工作量40%以上。而在软件开发总成本中,用在测试上开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试成本比例也许会有所减少,但事实上维护工作相称于二次开发,乃至多次开发,其中必然还包具有许多测试工作。6.2测试实例研究与选取程序测试重要办法分为两大类,白盒测试和黑盒测试。白盒测试:一种是以程序内部逻辑构造为根据而设计测试用例办法,因而又称构造测试或玻璃盒测试,将软件当作一种透明白盒子,按照程序内部构造和解决逻辑来选定测试用例,对软件逻辑途径及过程进行测试,检查它与设计与否相符[20]。白盒测试就是要选用足够测试用例,对源代码实行比较充分覆盖,以便尽量多地发现程序中错误。重要有两种办法:一种称为逻辑覆盖法,另一种称为途径覆盖法。黑盒测试:也称功能测试,数据驱动测试等,它将待测对象堪称是一种黑盒子,在完全不考虑程序内部构造和特性状况下,只根据规格阐明书检查程序功能与否能正常使用。黑盒测试重要是依照输入条件和输出条件拟定测试数据,来检查程序与否能产生对的输出。进行黑盒测试重要有下面几种办法:等价分类法、边界值分析法、猜错法、因果图法。本系统测试综合了白盒测试、黑盒测试两种办法,但重要使用是黑盒测试办法。在测试当中遵循了“尽早地和不断进行测试”,“保证测试用例完整性和有效性”原则。通过测试达到如下测试目:1.功能检查:检查功能与否争取,与否漏掉或实现不了应当实现功能等。2接口检查:检查
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度企业环境保护责任合同
- 瓷制球形把手市场发展现状调查及供需格局分析预测报告
- 通风用气动叶轮市场环境与对策分析
- 2024年度互联网旅游服务平台合同
- 2024年度云计算中心建设及运营合同
- 螺旋输送机市场需求与消费特点分析
- 跑步机市场需求与消费特点分析
- 2024年度大豆品牌授权合同
- 04版设备采购合同范本
- 2024年度大豆信息化建设合同
- 职称申报诚信承诺书(个人)附件4
- 仓库管理培训课件
- 【初中生物】病毒教学课件2024-2025学年人教版生物七年级上册
- 2024年秋江苏开放大学文献检索与论文写作参考范文一:行政管理专业
- 广东省揭阳市2024-2025学年高二上学期期中考试英语试题(含答案)
- 湖南省长沙市长沙市长郡集团联考2024-2025学年九年级上学期11月期中语文试题(含答案)
- 西学中题库及答案
- 2024年秋季1530安全教育记录
- 幼儿园班级幼儿图书目录清单(大中小班)
- 体检科缩短体检时间品管圈课件
- 第13课《警惕可怕的狂犬病》 课件
评论
0/150
提交评论