1、基于JSP的学生成绩管理系统的开发(完整资料)(可以直接使用,可编辑 优秀版资料,欢迎下载)学生成绩管理系统1. 背景( 1)项目名称。学生成绩管理系统2. 目提出者广州康大职业技术学院(3)项目承接者.5软件 2 班(4)用户。15软件 2 班内容摘要:学生成绩管理系统采用jaa,s,srvet和Mys数据库等工具,在工作yEclipse上开发而成.学生成绩管理系统主要用于各类高校对教师的管理,同时初始化教师的登录信息;以及教师对学生,课程,学生成绩信息的管理,同时初始化了学生的登录信息。学生可以查询课程信息和自己的成绩信息。本系统能提高了教务的管理效率,大大地减轻了教师的负担,使学生能随时
2、随地查询课程信息和自己的成绩.关键字:Jva We,学生成绩管理系统,信息管理系统。选题的目的和意义1.1 项目开发的背景几年前,各个学校对于学生成绩的管理还是停留在运用手工操作,随着各个学校的规模不断壮大,学生人数逐年增加.关于学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。但人工管理又有着许多缺陷,比如:效率底、易出错、检索信息慢、对学校的管理提供决策信息较为困难等。所以我想借本次毕业设计之际,开发一个适用于高校的学生成绩管理系统,方便学校对各类信息的管理,减轻学校的负担。.2 项目概述本管理系统主要内容是学生信息管理,课程信息管理,学生成绩管理和
3、教师信息管理,管理员添加教师记录,初始化教师的登录信息,教师添加学生记录,初始化学生登录信息等等。全文共分为概述、系统分析、系统总体设计、详细设计、开发总结、参考文献、附录等。3 设计目的与意义本系统是将现代化的计算机技术和传统的教学、教务工作相结合设计完成的系统,实现了工作过程的计算机化,提高工作效率和工作质量,该系统的完成将具有以下几点重要的意义:(1)系统具有较强的实用性、可靠性和适用性()对各个数据的输入进行了检测,大大减少了异常的发生。(3)能够按照用户输入的关键字进行查询(4)注意到了数据的安全性。(5)简化了用户的操作过程,尽量减少用户的工作量2 系统的开发技术及主要架构2. 开
4、发技术的选择由于JAVA面向对象,安全性高,跨平台,易移植,易掌握等特点,尤其是在安全性和跨平台性两个方面非常显著。因此,最后我选择采用Jav技术开发这个系统。2。项目开发的工具这个eb系统的服务器采用开源的omat6.0,数据库采用开源的MSQL。在MyEipse 工作平台上使用Java、JavaSr与JSP技术,采用MVC模式开发。2.2.1 Mclie简介yEclis企业级工作平台(MEclipe Enterprse Workbech ),简称yEclpse是对Eclipse DE的扩展,利用它我们可以很方便地使用数据库和JvaEE开发和发布系统,提高了工作效率.。22 MySq简介My
5、SQL名字的来历是一个小型关系型数据库管理系统,开发者为瑞典ySQL公司,在28年1月16号被Su公司收购。ySL被广泛地应用在ntrnet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。2.23 Tmcat简介mca是Apch 软件基金会(Apach Sofae Fnatin)的akat项目中的一个核心项目,由Aph、Sun和其他一些公司及个人共同开发而成。因为Tct 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务
6、器。2.3 数据库的连接JDC(Jva ata数据库连接)是一种用于执行SQL语句的Jva AP,可以为多种关系数据库提供一个标准的PI.据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 v AI 编写数据库应用程序,本系统采用DC连接数据库. 可行性研究3.经济可行性分析本系统开发要耗去一定的时间,而所用的开发工具和软件基本是免费的.由于系统能够在未来一段时期内稳定地发挥作用,因此该系统对于管理学生成绩都有很大的帮助。由此可见,开发此系统在经济上是完全可行的。3。 操作可行性分析如今的计算机已经进入各个家庭,硬件成本不断的下降,计算机价格不断降低.该系统具有友好的用户界面、良好的安全
7、性设置等,使用户可以很快地掌握系统的操作方法,因此在操作上是可行的.3.技术可行性分析从目前业内使用比较广泛的数据库和管理软件来看,使用比较简单的中小型数据库Mysql和Java开发该系统非常简单实用.该系统能为用户提供非常友好、操作简单的用户界面.因此,从技术可行性分析来看是可行的。3。4可行性综合分析利用计算机实现学生管理系统势在必行。通过对当前的开发背景和上述几个可行性分析可以发现开发这个系统是可行的.本学生成绩管理向着规范化、简单化、有效化的方向发展。4 需求分析。1 功能分析经过前期的深入调查和研究,总结出该系统需要完成的具体功能,分析如下:管理员管理:能够实现管理员对教师信息添加,
8、删除,修改和查询.初始化教师登录信息:用户ID为教师编号,初始密码也为教师编号,用户类型为教师。教师管理: 能够实现教师对学生信息,课程信息和成绩信息的添加,删除,修改和查询等功能;初始化学生登录信息:用户I为学号,初始密码也为学号,用户类型为学生。学生查询:学生能够查询课程信息和自己的成绩信息。 以上所有用户在登录后都可以修改自己的密码。4.2 系统数据流程图由以上的功能分析,得出如图41的系统数据流程图,该数据流程图直观地反映了该系统的整体框架和设计要求.图4 数据流程图 网站总体设计用户登录时,系统先判断用户名是否存在,密码和用户类型是否正确。如果正确,则进入用户首页,进行相关的管理操作
9、。如果错误,则用户要重新输入用户名,密码和选择用户类型.用户登录后根据用户类型,从而拥有不同权限。登录流程图和系统功能结构图如下所示。图1 登录流程图系统功能结构图图5-系统功能结构图6数据库设计6.1系统实体E-R图图6学生实体E-图图2 课程实体-图图6-3 成绩实体E-R图图6-4教师实体E图图65 系统用户实体R图6。2 实体联系图从上面的需求分析和总体设计得出管理员,教师,学生,课程和成绩实体之间的联系图如下图所示:图6 系统总体联系图63 逻辑结构设计根据系统的功能描述,设计要用的数据表。因为这些表之间相互关联,存储着系统的相关数据,所以在设计数据表的过程中,要求设计一个表只存储一
10、个实体或对象的相关信息,不同实体存储在不同的表中。本系统需要设计的数据库表如以下各图。表-7学生表 tub字段字段名类型可否为空主键ino学号archar(0)否是nam姓名arhar(10)否sex性别vrchar(5)g年龄insys所在系varar(2)grad班级vrh(20)表68 课程表 cinf字段字段名类型可否为空主键no课程编号vrhar(10)否是ne课程名称varchar(10)否tnae任课老师arr(0)creit学分fot表69成绩表 info字段字段名类型可否为空主键学号varcha(10)否是cn课程编号archa(0)否是ty成绩类型vachar()否是or分
11、数int否表 教师表 tainfo字段字段名类型可否为空主键tno教师编号vachar(10)否是tnam教师姓名varc(0)否tse教师性别vcha(5)ts所在系archar(10)表61 用户信息表user字段字段名类型可否为空主键id用户IDvarchar(1)否是nm用户姓名vrha(10)否paswd密码varchar(10)否job用户身份varcar(10)否 系统主要功能模块详细设计7.1用户登录用户登录需要验证用户的用户名,密码和身份.如果登录成功,页面就会跳转到相关页面,如果登录失败登录界面就会显示提示信息,登录界面如下图71 登录界面7.2 网站管理教师,管理员和学生
12、登录系统后拥有不同权限,详细介绍如下所示:7。2。 教师身份登录后的管理界面图7 教师管理首页教师管理三个模块:学生信息管理,课程信息管理和成绩信息管理,教师登录后可以点击“修改口令”修改自己的口令,点击“退出系统”返回登录界面,修改口令的界面如下图图7- 密码修改界面如果新密码为空,则提示“修改失败,新口令不能为空!,如果新密码和确认密码不同,则提示“口令修改失败”,相同则提示“口令修改成功,口令修改失败的界面如下图图7-密码修改失败界面学生信息管理模块:在图72中点击“学生信息管理后进入学生信息管理,界面,点击后的界面如下图图- 学生信息管理界面在“跳到”后输入2,点击“Go”后,列表跳转
13、到第2页,当输入小于0的数,点击“G”后,提示输入格式不对,请重新数字,当输入大于或等于分页总数的数字时,跳转到最后一页点击“首页回到第一页,点击“尾页”回到最后一页点击“上一页”回到上一页,点击“下一页回到下一页这个页面实现了教师对学生基本信息的管理(添加,删除,修改,查询),同时添加了一条学生登录记录,初始密码为学生的学号,添加学生信息的关键代码(学生信息管理的添加实现类)如下:publi oean oea(u s,s user)throws xcepton boln flag=false;Stings1=nst ito stub(in,nam,sex,ge,s,grade)vlues(?
14、,?,?,?,?,?);thi.pt1h。onn.repreStteent(sl1);his.pst1。setStrng(1,stugetIno());this。s1。setStrng(2,st.geName();this.pst1.Srig(3, stugtex();this.pt1stn(4, tugee();tis.ps1.setSring(, stu.getSs());thispt。setSting(6, 。etGade();ting l2ir ino us(id,ame,pasword,b)vaues(?,?,?,?)”;ts.s2is。nn。prepaSteent(ql2);i.p
15、st2.seString(1,user。etd();tisst2setString(, ur。etame();th。ps2setStrin(, user。tassord());this。pst2.setStrng(, ue。getJob());if(tis.pst1.exeutate()0&thi。pt2eecutUpdte()fag=re;ths。st1lose();this。st.clse();ern fla;点击“添加”添加学生信息后的界面如下图:图 学生信息添加界面学号为数字或字母,如果是其他的特殊符号,系统提示出错并清空学号后的文本框,年龄是位数的整数,否则提示出错清空年龄后的文本框
16、。每一个文本框都要填,如果有其中一个文本框没有填就提交,提示没有填的文本框不能为空。教师添加一条学生信息记录,就同时添加了一条学生登录记录,该学生的登录I为学号,登录密码也为学号,用户姓名为学生姓名,用户类型为学生,学生登录后可以修改自己的登录密码。修改学生信息的关键代码(学生信息管理的修改实现类)如下:pblibooleandUpae(Sutu,Usersr) trows Excptin olean fl=flse;Srng sql1update tub st name=?,sex=?,ae=?,ss=?,grad?hee in=?;tis.pst=iconn.preparetaent(q1
17、);his.pt1setString(, stu。getNm();this。pstsetring(2,stu。tSex());ispt1。setInt(3, tgege();this。pt1。setStrn(4,sugtS());ti。p1setStig(5,st.erad();thi。s1.stting(,tuetIno();Stringsql2udate usrst e=?wereid=?”;ths。ps2=this。cnn。pepareStatement(l);tis.pstseSrng(1, us.getName();tis.pst2。setString(2, user.getI())
18、;if(this.pt.executeUpdat()0thispst2.eecuteUpdte()0)flag=rue;ths.pt1close();this.t.cs();return flag;点击图75的列表中的要修改的数据后的“修改”修改学生信息,例如点击第一条记录后的“修改”,界面如下图图7-学生信息更新界面只要不修改主键“学号,年龄为整数,每一项都不为空,就能成功修改记录。点击图7-的列表中的要删除的数据后的“删除”删除一条记录。删除学生信息的关键代码(学生信息管理的删除实现类)如下:publicbooln doDee(Stu su,s us) thows Excepion boo
19、lan fag=ase;rg l”dletefrom stdbwere o=?;this。p=ts.n。preareSatement(sl1);his。ps.seStrig(1, su。getIo();Srig sql2”delet fro ser whe id=?”;h.pst2hin.prepraemt(q2);this.2ettri(1,er。getId());if(tis。pst1。exectUpat()&his.pst2eecutedte()a=tu;hs.pst1。clse();his。pt.ose();rtrn fla;例如点击任意一条记录后的“删除”,弹出如下图的提示框图78
20、记录删除提示框点击“确定”后记录删除成功,点击“取消后返回原界面,删除失败在图7的文本框中输入学生姓名(可输入模糊信息),查询学生信息的关键代码(学生信息管理的查询实现类)如下:public ListStu ndAll(Strng keWd)throEceponitStu ll=new ArraLSu();Stringsl=sele * frm stud wher ae lik ?”;this。ps=ts。con。preparSaemet(ql);thi。pst。ettrig(1, +kyWord%);esSetrs=thi.ps。executQuery();u stu=ll;while(rs
21、。nex()stunew Stu();stusetI(getSri());stsetam(rs.getString());stu.seSe(rs.ttrng(3);su。setAge(rs。getInt(4);stu。setSys(rs.getStrg(5));tu。etGrad(rs.getStrn(6));all.dd(t);this.pst.cls();retur ll;在图7的文本框中输入学生姓名(可模糊查询),例如输入“01,点击“查询”后的界面如下:图-信息查询结果图点击图-中的“课程信息管理”进入课程管理模块,界面如下:图-1 课程信息管理界面点击图7-2中的“成绩信息管理”进入
22、成绩管理模块,界面如下:图7-11 成绩信息管理界面图这两个模块和学生信息管理系统模块类似,编辑过程一样7.2. 管理员身份登录后的管理界面图712 管理员首页图点击“教师管理”进入教师管理模块,如下图所示图7-13 教师信息管理界面这个模块和学生信息管理系统模块类似,编辑过程一样管理员添加一条教师信息记录,就同时添加了一条教师登录记录,该教师的登录ID为教师编号,登录密码也为教师编号,用户姓名为教师姓名,用户类型为教师,教师登录后可以修改自己的登录密码。.2学生身份登录后的查询界面图7-14 学生查询首页点击“修改口令”修改自己的登录密码,点击“退出系统”返回到登录界面,学生登录后可以查询课
23、程信息和自己的成绩信息点击“课程信息查询课程信息,界面如下图所示:图71 课程信息查询点击“成绩信息”查询自己的成绩信息,界面如下图所示:图7 成绩信息查询8系统测试.1 测试原则软件测试的基本原则是站在用户的角度,对产品进行全面测试,尽早、尽可能多地发现问题,并负责跟踪和分析产品中的问题,具体测试原则有如下几点:第一,测试应该尽早进行,最好在需求阶段就开始介入,因为最严重的错误不外乎是系统不能满足用户的需求。第二,设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下不要制造极端状态和意外状态。第三,制定严格的测试计划。一定要制定测试计划,并且要有指导性。测试时间安排尽量
24、宽松,不要希望在极短的时间内完成一个高水平的测试。第四,妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。8。2测试用例根据系统的设计流程,一个一个模块地测试,要测试的模块如下:登录模块,密码修改模块,教师管理模块,管理员管理模块和学生查询模块等。具体的测试用例,预期结果如下详细介绍:用户登录和密码修改的测试用例测试用例场景测试用例预期结果实际结果 TC用户登录打开系统,输入用户ID,密码和选择身份后点击登录,登录系统判断用户的用户I是否存在,密码和用户类型是否正确若正确。如果正确,成功登录。否则,提示出错信息,要重新输入。同预期T2修改密码进入系统管理页面后,点击“修改密码
25、”后输入新密码和确认密码判断新密码是否为空,如果为空,提示修改失败,新口令不能为空;再判断新密码和旧密码是否相同,若相同则修改成功,若不同则修改失败同预期3退出系统点击“退出系统”后在弹出的提示框中选择“确定”或“取消”如果选择“确定”则退出系统,如果选择“取消”则退出系统失败,返回原界面同预期教师管理页面的测试用例测试用例场景测试用例预期结果实际结果T1学生信息管理进入教师管理,点击学生信息管理,测试添加,删除,修改,查询功能,测试添加的学生记录信息登录系统的效果对学生信息的添加,删除,修改操作达到了预期效果;添加的学生能以学号登录系统,当删除该学生记录后,该学生则不能登录系统同预 期TC课
26、程信息管理进入教师管理,测试添加,删除,修改,查询功能对课程信息的添加,删除,修改操作达到了预期效果同预期TC3成绩信息管理进入教师管理,分别测试添加,删除,修改,查询功能对成绩信息的添加,删除,修改操作达到了预期效果同预期管理员管理页面的测试用例测试用例场景测试用例预期结果实际结果TC教师信息管理进入管理员管理首页,点击教师信息管理,分别测试添加,删除,修改,查询功能,并且测试以编辑的学生记录信息登录系统的效果对教师信息的添加,删除,修改操作达到了预期效果,并且能查询到效果添加的教师能以教师编号登录系统,当删除该教师记录后,该教师不能登录系统同预期学生管理页面的测试用例测试用例场景测试用例预
27、期结果实际结果C课程信息查询以任意学生身份登录系统,点击课程信息,核对课程信息查询的结果是学校所有的课程,无误同预期TC2成绩信息查询以任意学生身份登录系统,点击成绩信息,查询个人的成绩查询到的成绩是自己个人的考试成绩,无误同预期83 测试小结本章主要测试了学生成绩管理系统的可行性,并且介绍了专门针对本系统的测试方式,描述了一些简单的测试用例。此外,还介绍了对系统进行测试的预期结果和最后的实际结果。从总体上来说,整个系统的设计都比较符合要求,圆满地完成了开题报告中所提出的设计要求,基本上达到了这次系统开发的预期效果。9总结毕业设计是大学本科教育最后一个重要的实践环节,重培养学生综合运用本学科的
28、基本理论、专业知识和基本技能,提高分析与解决实际问题的能力。在使用java开发这个系统的过程中,我深刻地认识到需求分析在整个软件开发流程中的重要性,没有做好需求分析就开发系统,问题发现地越晚,所付出的的代价就越大。同时,我也感受到了在整个软件开发的流程中,可能会碰到一些难以预料的问题,这时就需要多在网上或书上找资料,多向老师和同学寻求帮助,不断思考,寻找各种解决方案。系统总体上实现了预期中的效果,方便了管理员管理教师信息,教师管理学生信息,课程信息和成绩信息.用户在添加记录时又进行了数据检测,避免数据库中出现无效数据。管理员在添加教师和教师在添加学生时都同时添加了登录信息,初始化了登录密码,方
29、便了用户管理。学生只能查询自己的成绩信息,提高了学生用户的隐私。由于个人能力和时间有限,系统还有一些不足,有待改进,希望老师们提出宝贵意见,我会尽力去改善。在次,多亏了指导老师和同学们的帮助,使我成功完成了这个系统。在这里,我表示衷心的感谢课程设计报告课程名称 基于2EE的项目开发 设计题目 超市管理系统专业班级 软件13 姓 名刘香弟 学 号1243111成 绩 评 定考核内容设计表现设计报告答辩综合评定成绩成绩计算机技术与工程学院和谐 勤奋 求是 创新目录1题目选择与系统分析311项目的功能分析3.1。顾客功能性需求311。管理员功能性需求42 模块设计2。系统总体设计52.模块设计52.
30、。登录模块72.2。商品信息查看模块23购物车模块83数据库的数据表设计与映射93。1数据库表设计4 系统详细设计与实现11.1综合描述14.系统运行界面描述124.3主要的Java类和其功能25。4系统测试27。测试的目标与方法74.4.测试用例271题目选择与系统分析1。1项目的功能分析功能性需求是整个需求分析章节最为重要的部分.它直接决定了系统的模块划分,业务逻辑,明确了使用者对小型超市信息管理系统功能的要求。一个完善的,明确的,详细的功能性需求分析是开发一个系统的关键。成功的功能性需求分析可以避免后期对系统的大范围改动甚至是推倒重建,因此,本部分极为重要。1.1.顾客功能性需求不用输入
31、用户名,密码,直接登录超市管理系统的商品页面;查看商品的基本信息,包括 商品编号,单价,余量,厂家,生产日期,保质期;在购物车中查看自己选中的商品名称,价格,数量,并可以从购物车中移除某些商品,查看总价,并可以选择结账或选择继续购物;4点击结账后显示结账成功并退出系统。相关用例图见图11。图1 顾客用例图顾客用例 “查看商品基本信息的用例描述见表1-1。其他用例类似于此,不再一一赘述。表11用例描述-查看商品基本信息使用者顾客用例查看商品基本信息参与者顾客,小型超市信息管理系统数据顾客向超市信息管理系统发送商品相关信息,如商品名,商品类型,商品编号等激励超市信息管理系统根据用户发送的字段,查询
32、后台数据库响应超市信息管理系统返回查询商品结果备注无11.管理员功能性需求1打开网站后,进入登录页面。输入用户名,密码登录系统.2登陆后,选择进入系统人员管理页面或者商品信息管理页面。在系统人员管理页面中,查看其它管理员的信息,并可以添加新的管理员。在商品信息管理页面,可以查看全部商品的信息,包括商品编号,进价,单价,余量,厂家,生产日期,保质期。3进入商品信息管理页面的进货管理页面,可以填写进货单,实现相关产品数量的增加。4进入商品信息管理页面的销售查看页面,可以查看近期各项商品的销售情况。5点击页面右上角的退出按钮,直接退出系统并跳转到登录页面。相关用例图见图1-2 管理员功能性需求用例图
33、。图12 管理员功能性需求用例2模块设计。1系统总体设计系统总体设计图如图41所示。当使用人员登录系统后,按身份的不同进入各自的页面,并使用系统提供的功能.管理员的人员信息管理属于操作者所有,在此本系统默认管理员可以操作其他管理员的信息。图21 系统总体设计图2.2模块设计本处将对小型超市信息管理系统进行分模块设计,明确各个模块的操作流程,功能如何使用等问题。登录模块超市信息管理系统的使用者主要有两种:普通的顾客和管理员。按照日常生活中超市的运作流程,普通顾客不需要为其设立专门的数据表,所以只需要实现管理员的登录模块.使用者进入系统后,首先进入欢迎界面.普通顾客点击“开始购物旅程”超链接,直接
34、进入购物界面。管理员点击“进入后台系统”超链接,进入管理员登陆界面。由于管理员对系统有操作,查看等权限,因此不允许在登陆页面注册新的管理员。登陆成功后跳转至管理员管理页面,否则显示“Loin fil”登陆失败.当输入正确的姓名,密码后,界面自动跳转到管理员管理欢迎界面。2商品信息管理模块管理员进入后台管理界面后,点击“商品信息管理页面超链接,进入商品信息管理页面.页面查询后台数据库数据,将所有商品信息展示在右侧页面上。若管理员需要对相关商品信息作出修改,或者删除某项商品信息。则点击相应的超链接进行操作。删除成功后系统会提示“删除成功”。点击“更新,系统会进入商品信息更新页面。在页面中,已经预先
35、填好了所选商品信息。这允许管理员仅对需要修改的字段内容修改,避免了全盘输入的麻烦.若管理员需要添加新商品,则点击“添加新商品”链接。系统跳转到 商品信息添加页面。在此页面填入相应的商品信息,点击“添加”按钮。若各个字段的值都符合要求,则系统提示“添加成功。再点击左侧“商品信息管理页面”,则可以看到刚才插入的商品信息。进货单管理模块进货是超市正常运营,及时跟进市场最新动态,调整售货方向的最重要的手段.进货单管理模块用来实现进货功能,管理员可以填写进货单实现对商品表及进货单表的更新。在 管理员管理欢迎界面点击“进货单管理页面”,系统跳转到进货单管理页面。由于进货操作是管理员对超市经营情况收集信息的
36、重要途径,因此不允许对进货单进行修改操作,以便进行对账,合计等操作。点击“增加进货单”链接,系统跳转至进货信息添加页面。在进货信息添加页面中,当管理员填写好相应的字段后,点击“添加”按钮。系统在后台会自动查找填入的商品名.如果以前存在同名的商品,则在原来的商品的基础上,对数量作出修改.如果查不到填入的商品名,则在商品表中新建一条记录。最后,在进货单表中生成相应的进货记录.管理员信息管理模块在管理员管理欢迎界面,点击“管理员信息管理页面”。系统跳转至管理员信息管理界面。在此界面上,可以实现对管理员信息的增删改,在此不再一一赘述。5交易信息查看模块顾客每次在超市的消费都会有相应的记录。由于小型超市
37、规模的限制,不可能大量保存每笔交易的详细信息,因此系统以交易流水号的形式表示每笔交易.此模块就是供管理员查看交易信息的记录。由于交易信息是对超市中已存在的交易行为的记录,因此不允许管理员对交易信息进行修改,只能在记录较多时删除某条记录.6退出模块管理员在左侧菜单点击“退出”链接,进入“确认退出页面”.7购物模块在开始页面点击“开始购物旅程”链接,跳转到购物页面。点击一项商品后的添加至购物车链接,会提示添加成功,并选择查看购物车或继续购物。点击“查看购物车”进入购物车管理页面.可以实现对购物车中商品数量的修改,查看目前已购买商品的价格总计,或者选择删除购物车中的某项商品,甚至清空购物车。点击“结
38、账”链接,系统在新页面中会生成一个交易流水号,继续点击“结账,如果后台保存成功,则提示交易完成,点击链接离开。.。1登录模块登录流程如图2-3。管理员在登录表单填写用户名,密码,将表单与Flag标志提交至Sle。系统根据XML文件的配置,调用相关的Srlet类(Membeontoler.va)。rlt根据Fag的值,调用相应的函数,查询数据库表(meer)并进行判断,如果用户名与密码匹配,则跳转到管理页面(na。jsp),否则,输出登录失败页面。图2-登录模块流程图。2商品信息查看模块在Left。jsp 中点击“商品信息管理页面”,链接为”Goods。do?fla=1”.系统根据XM配置文件,
39、调用odsContoler。ja 。接受到Flag= ,调用FinAl()方法,查询Myq数据库中gos表,查询所有商品信息,返回一个istGod 集合,名为lst。利用req。seAtribute(god”,list)将集合存入equest范围内,然后跳转至商品信息展示页面(odanage.jsp).在商品信息展示页面,创建一个Tab。列名分别为商品各项属性名。新建一个ListGoods ist.。将rquest范围内的“good”接收并进行强制类型转换。循环list,将商品输出。在每一行商品的后面,加上“删除”“更新”两个链接,分别为:“Godsdo?lag=2&d%istgt()getI
40、()%”,“G.o?lg5i=”.点击链接,可以调用GoodsCntrllerjav中的相应函数,传递参数为ID,进行删除或更新的操作。相关流程见图3。图商品信息查看模块流程图23.3购物车模块添加商品至购物车时,会对购物车中的商品进行校验,若商品已在购物车中,则不在购物车中添加新项目,而是只修改商品数量。顾客可以在购物车中编辑商品信息,包括修改商品数量,删除某些不想要的商品,或者清空购物车.每点击相关链接就调用sevlet的对应函数对sssio中的ShpngCat进行操作。如果点击“结账”,则进入生成流水号页面。结账成功后,则对数据库中的商品余量进行修改,自动减去顾客购买的商品数量。购物车流程图如图5-11所示。图511 购物车模块流程图3数据库的数据表设计与映射3。数据库表设计商品基本信息表见表3-1。表 商品基本信息表名称含义类型约束备注GodsID商品DInt 2主键自动增长GodNae商品名称Varchar 10唯一值Goodp商品类型nt 0不为空GoodsPre单价t 10不为空odPurchsPrce进价Int 10不为空GoosAmunt商品数量In 1