《综合编程实例》PPT课件.ppt

上传人:wuy****n92 文档编号:70497472 上传时间:2023-01-21 格式:PPT 页数:42 大小:279.99KB
返回 下载 相关 举报
《综合编程实例》PPT课件.ppt_第1页
第1页 / 共42页
《综合编程实例》PPT课件.ppt_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《《综合编程实例》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《综合编程实例》PPT课件.ppt(42页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第十章 综合编程实例 n前9章分别介绍了JSP概念、运行环境、页面组成、各种技术的应用方法。本章将综合各章概念、技术和方法,把这些概念、技术和方法运用到实际应用当中,使读者对JSP技术和应用有更深刻的理解。本章涉及到4个应用:留言板、成绩管理、问卷调查和在线考试。学习目标学习目标n理解4个应用的设计原理和设计方法n学会设计合理的程序结构n提高综合运用各项编程技术和方法10.1 留言板n本系统实现客户在留言版上留下自已的姓名、邮箱和留言内容。10.1.1 留言设计原理留言设计原理1.系统构成。本系统由三个页面文件和一个文本文件构成。它们的作用如表10-1所示。表10-1文件名作用Form.jsp

2、提供一个窗口,客户在此窗口中输入留言setMsg.jsp将客户输入的留言写入文件Message.txt,并输出留言showMsg.jsp将所有留言显示出来Message.txt客户每次输入的留言都保存在该文件中2系统执行流程n本系统执行流程如图10-1所示。setMsg.jsp页面写好了showMsg.jsp页面Form.jsp页面回留言板Message.txt写入读出回留言板查看留言图10-1系统执行流程输入留言输入留言提供一个客户输入留言的窗口。本模块由Form.jsp页面实现。程序算法:程序算法:Form.jsp:1创建表单,该表单包含两个文本框和一个文本区,分别用来录入留言者姓名、邮箱

3、和留言内容。2创建一个连接,连接到showMsg.jsp页面。保存留言保存留言将客户输入的留言保存到文件Message.txt中。本模块由setMsg.jsp页面实现。程序算法:程序算法:setMsg.jsp:1获取客户提交的姓名、邮箱和留言内容,并构造客户留言信息:Msg2以文件名Message.txt为参数构造文件输出流:fw3以fw为参数构造缓冲输出流:bw4将客户留言信息(Msg)写入缓冲输出流bw中。5关闭流bw,fw6将客户留言输出到客户端。7建立超连接,连接到Form.jsp页面。查看留言查看留言读取文件Message.txt中的所有留言,输出到客户端。本模块由showMsg.j

4、sp页面实现。程序算法:程序算法:showMsg.jsp:1以文件名Message.txt为参数,构造文件对象:f2以f为参数,构造文件输入流:in3以in为参数,构造缓冲输入流:bufferin4将缓冲输入流(bufferin)中的数据输出到客户端。5建立超连接,连接到Form.jsp页面。10.2 成绩管理系统 本系统实现用户登录、成绩管理、成绩录入、修改、查询、删除等6个摸块。成绩管理系统设计原理成绩管理系统设计原理n系统构成。本系统由6个模块组成。它们是用户登录模块、成绩管理模块、成绩录入模块、成绩修改模块、成绩查询模块、成绩删除模块共6个摸块组成。n模块设计本系统模块结构如图10-2

5、所示。用户登录模块成绩管理模块成绩录入成绩修改成绩查询成绩删除图10-2系统模块结构n数据库设计本系统包含两张表。一个是学生成绩表(students),该表保存学生成绩;一个是用户登录网站的帐号表(Login),该表保存用户帐号。两张表属于数据库db.mdb中。学生表(students)的结构如表10-2所示;帐号表(Login)的结构如表10-3所示。表(students)10-2字段名数据类型字段宽度number文本5name文本10math单精度数字自动english单精度数字自动phics单精度数字自动表(Login)10-3字段名数据类型字段宽度XM文本10PW文本10假设管理员在L

6、ogin表中加入一条记录XM是ken,PW是123。则客户可以用此帐号和密码登录本系统。用户登录用户登录在网站设计中,希望某些网页只有具有特定权限的用户才能访问。这时需要建立登录机制。这里假设由系统管理员给访问者分配帐号。只有具有帐号的客户才能访问网页。本系统实现登录模块的页面由LogFrm.htm和Login.jsp组成。程序结构:程序结构:LogFrm.htm页面检查输入帐号的合法性;Login.jsp检查输入帐号的正确性。本登录模块与其它页面关系如图10-3所示。Login.jspLoginSuccess.jspLogFrm.htm登录成功才进入此页面登录失败请重新登录登录图10-3登录

7、页面程序算法:程序算法:LogFrm.htm:1定义一函数datacheck(),检查帐号和密码输入的完整性。2创建一表单,该表单包含两个文本框,用于登录客户输入用户名和密码。Login.jsp:1定义函数CheckLogin(StringLogin1,StringPassword1),检查帐号和密码的正确性。2获取表单的帐号(UserNm)和密码(UserPasswd)。3若帐号或密码为空,则转向LogFrm.htm页面。4检查帐号与密码的正确性5若帐号和密码正确,则将帐号和密码保存到session中,并转向LoginSuccess.jsp页面(成绩管理)。若登录失败,则执行以下语句。6输出

8、登录失败原因(strCheckLogin)。7.建立超连接,连接到LogFrm.htm页面。成绩管理成绩管理该模块只是提供一个界面,通过该界面进入成绩录入、成绩修改、成绩查询、成绩删除界面。程序结构:程序结构:该模块由LoginSuccess.jsp页面实现。下面是该模块与其它页面的交互关系如图10-4所示。append_1.jsp(成绩录入成绩录入)update_1.jsp(成绩修改成绩修改)LoginSuccess.jsp(成绩管理成绩管理)del/del_1.jsp(删除记录删除记录)query_1.jsp(成绩查询成绩查询)LogFrm.htm(登录模块登录模块)若客户未登录成绩录入成

9、绩查询成绩修改删除记录图10-4成绩管理模块程序算法:程序算法:LoginSuccess.jsp1.获取session中的帐号:Name2.若帐号为空(表示客户还未登录),则定向到LogFrm.htm页面。3.创建4个超连接,分别连接到4个页面。10.2.4 成绩录入成绩录入该模块提供一个界面,用户在此界面录入学生成绩。程序结构:程序结构:该模块由两个页面完成。append_1.jsp页面提供成绩录入界面,把成绩提交给append_2.jsp页面,由append_2.jsp页面把成绩保存到数据表(students)中。页面交互关系如图10-5所示。append_1.jsp成绩录入append_

10、2.jspLoginSuccess.jsp(成绩管理成绩管理)添加返回添加数据表表(students)图10-5成绩录入模块程序算法:程序算法:append_1.jsp:1.创建一个表单,该表单包含5个文本框,这些文本框用于输入学生成绩。2.提交该表单后,从session中获取添加执行标志(tianjia=成功|失败)。3.创建一个超连接,该连接指向LoginSuccess.jsp页面。append_2.jsp:1.定义booleaninsert()方法,该方法向students表中添加记录。2.从表单中获取要添加的数据3.调用insert(number,name,m,e,p)方法,添加数据到

11、students表中。4.若添加成功,则把属性-值对(tianjia,成功)加入session中。否则把属性-值对(tianjia,失败)加入到session中。5.返回到append_1.jsp页面。10.2.5 成绩修改成绩修改该模块提供一个界面,用户通过此界面根据学号修改学生成绩。程序结构:程序结构:该模块由两个页面完成。update_1.jsp页面提供一个修改成绩的界面,它把修改后的数据提交给update_2.jsp页面,update_2.jsp页面首先在表中查询该学号是否存在,若存在该学号,则执行查询。页面交互关系如图10-6所示。update_1.jsp成绩修改update_2.j

12、spLoginSuccess.jsp(成绩管理成绩管理)更新返回修改数据表表(students)图10-6成绩修改模块程序算法:程序算法:update_1.jsp:1创建一个表单,该表单包含4个文本框,用于输入关键字(学号)和修改后的成绩。2.提交该表单后,从session中获取修改执行标志(xiugai=成功|失败|无此学号)3.输出修改执行标志:xiugai4创建一个超连接,连接到LoginSuccess.jsp页面。update_2.jsp:1定义方法booleanquery(Stringnumber),该方法查询学号为number的学生是否存在,若存在返回值为true,否则为false

13、。2定义方法Stringupdate(),该方法修改学号为number的成绩。方法返回值有三种情况:修改成功|修改失败|没有这个学号3从表单中获取学号和新的成绩数据。4执行修改操作:del=update(number,math,english,physics)。5根据执行情况,将属性-值对(xiugai,del)加入到session中。6重新定向到update_1.jsp页面。query_1.jsp成绩查询query_2.jspLoginSuccess.jsp(成绩管理成绩管理)查询返回查询数据表表(students)10.2.6 成绩查询成绩查询根据学号查询学生的成绩。程序结构:程序结构:该

14、模块由两个页面完成。在query_1.jsp页面中输入学号,提交给query_2.jsp页面,query_2.jsp页面完成学生查询。页面交互关系如图10-7所示。图10-7成绩查询模块程序算法:程序算法:query_1.jsp:1创建一个表单,该表单包含一个文本框,客户在此框输入学号。2提交该表单后,从session中获取结果集:rs。3以表格形式输出结果集数据:rs。4创建一超连接,连接到LoginSuccess.jsp页面。query_2.jsp:1定义方法ResultSetchaxun(Stringnumber),该方法获取学号是number的结果集。2从表单中获取学号:number。

15、3执行查询,获得结果集数据:shu4如果shu不为空,则把属性-值对(rs,shu)加入session中。5重新定向到query_1.jsp页面。10.2.7 删除记录删除记录根据学号删除学生记录。程序结构:程序结构:该模块由两个页面完成。在del_1.jsp页面中输入学号,提交给del_2.jsp页面,del_2.jsp页面完成学生记录删除。页面交互关系如图10-8所示。del_1.jsp删除记录del_2.jspLoginSuccess.jsp(成绩管理成绩管理)删除返回删除记录表表(students)图10-8成绩删除模块程序算法:程序算法:del_1.jsp:1创建一个表单,该表单包含

16、一文本框,客户在此框中输入学号。2提交表单后,从session中获取删除标志(del),del有3种取值:删除成功|删除失败|没有这个学号。3输出删除标志del。4创建一个超连接,连接到LoginSuccess.jsp页面。del_2.jsp:1.定义方法booleanquery(Stringnumber),查询学号是number的学生。查找成功,则返回值为true,否则返回值是false。2.定义方法Stringdel(Stringnumber),删除学号是number的学生。返回结果标志有3种值:删除成功|删除失败|没有这个学号。3.获取表单提交的学号number。4.执行删除操作:del

17、(number)。5.根据删除返回的标志(删除成功|删除失败|没有这个学号),向session中,添加相应的属性-值对。6.重新定向到del_1.jsp页面。10.3 问卷调查n本题以试卷的方式,调查客户意见,并对调查结果作出统计。问卷包括3道题目,每道题目包含相同的5个选项。问卷设计原理问卷设计原理n系统构成本系统由4个模块构成。它们是问卷界面模块、数据库连接模块(组件)、保存问卷记录模块(组件)、查看问卷结果模块。n模块的作用4个模块的作用如表10-4所示。表10-4模块名模块作用DBCon.java建立与数据库的连接:组件QusBean.java保存问卷题目,选项,问卷记录:组件QusF

18、rm.jsp产生问卷调查界面,客户在此界面选择选项QusRes.jsp从库中获取调查结果,并加以统计显示n数据库设计本系统包含一张问卷表(Qus),该表保存问卷数据。表(Qus)保存在数据库db.mdb中。问卷表(Qus)的结构如表10-5所示。表(Qus)10-5字段名字段名数据数据类类型型字段字段宽宽度度 字段作用字段作用ID文本自动关键字段Qus1数字自动第一题选项值Qus2数字自动第二题选项值Qus3数字自动第三题选项值说明:问卷中,每一题有5个选项,当客户选择第1选项时,其选项值就是1,如此类推,当客户选择第i个选项时,其选项值就是i。i的取值是:15。10.3.2 创建问卷界面创建

19、问卷界面该模块产生一个问卷界面,客户在此界面选择自已对问题的答案。该模块由QusFrm.jsp页面实现。程序结构:程序结构:QusFrm.jsp页面从Qus组件(由类QusBean.class创建)中获取问题和选项,创建问卷界面。然后把客户选择的答案提交给Qus组件。由Qus组件把客户选择的答案保存到数据表Qus中。本页面与其它页面(组件)的交互关系如图10-9所示。QusFrm.jspQusRes.jsp统计结果表表QusParam(客户答案)Return()Param()Return(试题)连接客户答案写入Qus表中提交客户答案DBCon.java(组件组件)QusBean.java(组件

20、组件)图10-9创建问卷界面程序算法:程序算法:QusFrm.jsp1.用类创建组件,组件名为qus。2.若提交控件(submit1)的值为空(还未创建问卷界面),则执行下面步骤(来创建问卷界面),否则转第5步。3.输出组件qus的标题(title)和副标题(subTitle)属性值。4.输出问卷题目和选项,转第6步。5.将问卷数据加入数据库表Qus中。6.结束。10.3.3 保存问卷答案保存问卷答案本模块由两个组件来完成。其功能是把客户的答案保存到数据库表中。程序结构:程序结构:DBCon.java组件实现数据库连接。QusBean.java组件有两个方面的作用:保存问卷题目和每个题目的选项

21、(用于创建问卷界面)。将用户选择的问卷答案加入数据库表Qus中。说明:两个类文件(DBCon.class,QusBean.class)部署在small.dog包中。10.3.4 查看问卷结果查看问卷结果此模块由一个QusRes.jsp页面实现,其作用是从数据库中获取客户的答卷数据并加以统计,用条状图方式输出问卷结果。程序算法:程序算法:QusRes.jsp1.用类创建连接对象:con。2.用类创建问卷对象:qus。3.输出问卷bean(qus)的标题(title)和副标题(subTitle)属性值。4.用第1层循环输出问卷题目5.用第2层循环输出选项和该选项选中的百分比(用长形条表示)10.4

22、 在线考试n本系统的考试题由系统从题库中随机抽取,每道试题包含4个选项(单选),考生做完试题交卷后,系统自动改卷,自动评分。10.4.1 考试设计原理考试设计原理n系统构成本系统由三个模块组成。它们是产生试卷模块、获取试题题(组件)和改卷模块。n模块的作用各模块的作用如表10-6所示。表10-6文件名作用TopicBean组件。获取库中的题目,选项,答案Exam.jsp产生考题界面ExamRes.jsp改卷n数据库设计本数据库包含一张表(Exam),该表用来存放考试题目、每道题的四个选项、答案编号。该表结构如表10-7所示。字段名数据类型 字段宽度 字段作用QID文本自动关键字段Qus文本25

23、5考题Opt1文本50第1选项。对应编号是:1Opt2文本50第2选项。对应编号是:2Opt3文本50第3选项。对应编号是:3Opt4文本50第4选项。对应编号是:4Ans文本1答案编号,取值:14表(Exam)10-7n系统执行流程本系统执行流程如图10-10所示。Exam.jspExamRes.jsp提交答案表表:ExamParam()Return(题目,选项,答案编号)从表Exam中读取题目,选项,答案编号TopicBean.java(组件组件)图10-10执行流程10.4.2 产生试卷产生试卷本模块由Exam.jsp页面实现。它从Exam表中获取题目、选项和答案编号,创建试卷,客户在试

24、卷上选择答案。程序算法:程序算法:Exam.jsp1.用类创建一个bean,其名称是top。2.声明一个结果集类型的变量:rs3.创建表单,该表单数据提交给ExamRes.jsp页面。4.获取组件top的结果集:rs(包含Exam表的所有记录)5.创建一个布尔型数组chcQus,用来标识表中已被选取的题目。6.创建随机数对象:Rnd。7.通过外循环随机产生7道试题。把正确答案编号(Ans)、试题(Qus)、正确答案(Opt),分别以属性名Ans+i、Qus+i、RghOpt+i保存到session对象中。8.通过内循环为每道试题产生4个单选按钮和选项。10.4.3 获取试题获取试题本模块由组件

25、(TopicBean.java)实现的。其功能是从试题库(表:Exam)中获取试题和答案(rs)。程序算法:程序算法:TopicBean.java1.定义三个成员变量,分别保存连接对象(con)、语句对象(stmt)、结果集对象(rs)。2.定义构造方法TopicBean()。加载驱动程序、创建连接对象和语句对象。3.定义方法ResultSetgetRs(Stringsql)。获取sql语句的结果集。4.定义方法closeBean()。释放各种对象10.4.4 批改试卷批改试卷本模块(ExamRes.jsp)获取客户提交的答案,并与试题库(表:Exam)中的正确答案比较来批改试题,最后统计考生

26、的得分。程序算法:程序算法:ExamRes.jsp1.声明变量(RightAns),用来保存客户答对试题的数目。2.通过循环语句(遍历试题),批改每道试题。批改步骤如下:3.从session对象中获取正确答案编号(Ans)。4.从表单中获取客户提交的答案编号(UserAns)。5.若客户提交的答案编号为空,即未选择答案(UserAns=null),则输出:试题,正确答案编号,答案。6.若客户选择的答案与正确答案相同,则输出信息:答对了7.若客户选择了错误的答案,则输出信息:答错了,试题,正确答案编号,答案。8.输出答对题的数目:RightAns。本章小结n本章具体实例介绍了四个应用系统的编程思路,它们是留言板、成绩管理、问卷调查和在线考试,他们综合运用了JSP技术和方法。通过本章的学习,使我们加深对相关的概念、方法和技术的理解和灵活运用。习题习题1以你所在的学校的教学业务为例,请用JSP技术开发网上教学评估系统。2以你所在的学校的图书管理业务为例,请用JSP技术开发网上图书管理系统。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com