




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计II设计报告题 目:基于Android交大外卖订餐系统指导老师评语: 评定成绩: 签名: 日期:小组成员:目 录一、概述11.1课程设计的目的11.2设计任务与要求1二、需求分析报告21 引言21.1 编写目的21.2 产品范围22 综合描述22.1 产品的状况22.2 产品的功能22.3 用户类和特性32.4 开发环境32.5 目标平台33 外部接口需求43.1 用户界面43.2 硬件接口43.3 软件接口44 系统功能需求45 其它非功能需求55.1 性能需求55.2 安全措施需求55.3 安全性需求65.4 软件质量属性65.5 业务规则66 分析模型66.1 数据流图66.2
2、用例图96.3系统时序图和协作图126.4系统活动图16三、设计报告191 设计概述191.1限制与约束191.2设计原则和设计要求192系统的概要设计与分析192.1系统功能设计192.2子系统与模块202.3系统出错处理设计232.4 系统接口设计232数据库设计242.1数据库逻辑设计242.2基表设计283系统详细设计与实现303.1 web端系统功能的开发303.2 Android客户端功能的开发37四、软件测试报告431 引言432 检查具体内容432.1 软件代码测试432.2 软件系统测试453 测试总结报告46五、用户操作手册471 引言472 软件概述472.2 功能472
3、.3 性能483 运行环境483.1 硬件483.2 支持软件484 使用说明494.1 安装和初始化494.2 出错和恢复495 运行说明495.1 web管理端495.2Android客户端51六、项目开发总结报告56一、概述1.1课程设计的目的1. 通过本次课程设计,熟练掌握一种开发语言Java和开发环境Eclipse。并掌握android手机客户端开发过程。开发语言的熟练需要通过编写一定长度的代码(10002000行代码)才能达到,开发环境的熟练需要反复的程序调试训练。2. 加深对软件工程的理解,训练编写程序的良好习惯。包括:认真编写需求分析文档、做好系统功能设计、学会自己进行程序的算
4、法、数据结构设计、3. 培养良好的程序设计风格(模块划分、接口设计、函数和变量命名规则)和习惯(程序备份、版本更新与控制),提高软件测试、调试的能力与技巧。4. 通过本次课程设计,应该达到具有独立完成小型应用设计的能力,具备编写较为规范的软件设计文档的能力。1.2设计任务与要求基于android的交大外卖订餐系统的设计与实现1. 学习android开发;2. 完成软件android客户端和web端的开发和文档的编写。二、需求分析报告1 引言1.1 编写目的本需求分析报告的目的是规范化交大外卖订餐系统软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制和管理,同时提出了交大外
5、卖订餐系统软件的软件开发过程,并作为工作成果的原始数据,同时也表明了软件的共性,以期待能过获得更大范围的应用。开发交大外卖订餐系统手机客户端旨在于弥补交大外卖手机客户端的空缺,使同学用android智能手机就可以方便的预定外卖,真正做到互联网的全方位覆盖。1.2 产品范围交大外卖订餐系统适用于具有android智能手机的用户,在使用本软件后,外卖订餐覆盖面更广,不会再因为身边没有电脑订外卖而发愁,真正做到方便同学,并且可以通过代理广告而使服务商获得额外收益。2 综合描述2.1 产品的状况通过本系统,用户可以通过手机上网的方式来订外卖,其特点如下:l 数据的维护效率大大提高,容易保管,如果丢失或
6、出错很容易修复。系统的数据都存储在服务器的数据库中,定时备份可以使数据一直保持完好。l 方便查询,节省劳动力。用户可以通过手机直接把自己想要订的外卖存入数据库中,商店的服务器端只需要少数管理人员来处理订单。l 用户可以通过手机随时随地订外卖,方便快捷,并且高效。2.2 产品的功能本预订系统包括Web端和Android客户端两部分。Web端主要实现外卖资源以及订单的管理功能,Android客户端实现用户的登录注册、预订和查看订单的功能。2.3 用户类和特性用户类别用户特性超级管理员管理此系统的一切可用功能。普通管理员外卖的添加、处理订单等。用户登陆、注册、预定等。2.4 开发环境开发此交大外卖订
7、餐系统需要用到如下软件环境。1. Eclipse 编程软件。Eclipse是一个相当著名的开源Java IDE,主要以其开放性、极为高效的GUI、先进的代码编辑器等著称,其项目包括许多各种各样的子项目组,包括 Eclipse插件、功能部件等,主要采用SWT界面库,支持多种本机界面风格。2. JDK 1.7系统选此作为开发环境,因为JDK 1.7版本是目前JDK最新的版本,有许多开发者用到的功能,可以通过不同的操作系统平台在官方网站上免费下载使用。3. Microsoft SQL Server 2005 数据库Microsoft SQL Server 2005是目前中小型应用开发中比较流行的数据
8、库,Microsoft SQL Server 2005在一定程度上保证了数据的完整性和安全性。4. Tomcat 7.0 以上版本Tomcat是一个优秀的Web应用容器,运行稳定、可靠、效率高,并且是开源的,可以从网上免费下载,节约开发成本。5. Android系统Android系统平台的手机功能强大,此系统开源、应用程序无界限,随着Android手机的普及,Android应用的需求势必会越来越大,这是一个潜力巨大的市场,会吸引无数软件开发厂商和开发者投身其中。2.5 目标平台开发此外卖预订系统需要目标平台如下。1. 服务器端浏览器,建议使用IE 8.0及以上版本。2. 手机平台为Androi
9、d 2.3或者更高的版本。3 外部接口需求3.1 用户界面(1) 采用的图形用户界面(GUl)标准或者产品系列的风格:采用简约的风格,运用页面布局技术,以蓝色作为主色调。(2) 将要使用在每一个屏幕(图形用户界面)上的软件组件,包括:l 标准按钮;各个页面均包含l 导航链接:各个页面包含导航栏,方便用户进行页面切换(3) 各种显示格式的规定,包括:l 不同情况下文字的对齐方式:表格居中对齐,段落居左对齐l 不同情况下数字的表现格式与对齐方式:表格居中对齐,段落居左对齐l 日期的表现方法与格式:统一采用4位年2位月2位日,两两之间用“-”间隔。(4) 每一个操作均有结果显示。3.2 硬件接口使用
10、的通讯协议:TCP/IP协议3.3 软件接口操作系统:Windows 7数据库:SQL Server2005集成的商业组件:eclipse 3.7 Tomcat 7.0 AndroidSDK4 系统功能需求经过需求采集和需求分析,确定关键需求,本系统应该具有的功能如下:Web端功能:l 管理员有权限限制,普通和超级管理员所操作管理的层次不一样。l 管理员可更改密码,超级管理员可添加、删除普通管理员。l 可以添加外卖可预订资源,如菜单、饮料等,并填写外卖的描述信息。l 可以添加外卖分类,并填写新分类的描述信息。l 可以修改外卖的状态,有货或者缺货。l 可以对订单进行操作同步到客户端,第一时间通知
11、用户。Android手机客户端功能:l 登录外卖android手机客户端,用户可以随时随地通过手机登录交大外卖的客户端。l 注册账号,用户若没有账号,可以通过手机客户端进行注册成为系统会员。l 修改个人信息,如果用户个人信息发生了改变,用户可以通过手机登录的方式方便地更改个人信息,这也为交大外卖管理用户的信息资料提供了便利。l 预订资源,这是本系统最重要的部分,用户可以通过本系统方便快捷地预订其想要的外卖,这也是为用户提供的最主要的功能。l 查看订单,当用户想要查询预订结果,或者想要了解订单的详细信息时,通过手机客户端可以快速查看订单。 5 其它非功能需求5.1 性能需求l 相互合作的用户数量
12、:无上限l 系统支持的并发操作数量:记录相关信息无上限,设置相关信息时一时间只能有一个用户设置相应的相关信息。l 一般操作的响应时间应在35秒内,响应时间也应在可接受的时间内完成,具体情况以网络速度为限制l 与实时系统的时间关系:时间一一对应。l 容量需求(相对于服务器) 存储器:2Gb 数据库中表的最大行数:无上限。5.2 安全措施需求系统用户通过用户名和密码方式来控制用户对数据的访问与操作,不同的用户权限不同,确保正确的用户使用正确的数据。5.3 安全性需求每个用户在第一次登录后,必须更改他的系统预置登录密码,系统预置的登录密码不能重用。服务器要处理好与Internet链接的借口,防止病毒
13、传播以及黑客攻击。5.4 软件质量属性 l 健壮性:系统应能够长时间无故障运行;l 易用性:web管理端界面应采用图形化操作方式,便于业务人员操作,保证中专以上文化程度的人员可以无障碍操作;android客户端应采用图形化操作方式,保证熟悉手机操作的各阶层用户的使用。l 容错性:用户输错数据都有提示信息,具有较好的容错性能;l 可扩展性:充分考虑到将来需求的修改或增加,采用模块化设计,避免需求变更时大规模修改程序。5.5 业务规则web管理端管理员对每个订单都要进行处理,并提交处理结果反馈给android客户端。6 分析模型6.1 数据流图6.1.1顶层数据流图系统用户DF5超级管理员DF1D
14、F6交大外卖订餐系统DF2DF7DF3普通管理员DF8DF4系统数据库图2-1系统顶层数据流图数据说明:DF1:管理员输入的数据,包括:普通管理员的用户名,密码,级别信息DF2:操作结果以及公共信息;DF3:管理人员输入到系统中的数据,处理用户相关信息,处理外卖订单相关信息,添加外卖分类,添加外卖菜单新外卖,修改外卖信息,修改菜单信息。DF4:修改和查询菜单、外卖相关的信息操作结果以及公共信息;DF5:用户输入的相关注册信息,用户的订单信息,用户退订的信息。DF6:修改和查询订单、外卖相关的信息操作结果以及公共信息;DF7:所有用户,普通管理员,超级管理员输入的持久化数据,包括用户信息,管理员
15、信息,订单信息,菜单信息,订单处理信息。DF8:所有用户,普通管理员,超级管理员输入的持久化数据,包括用户信息,管理员信息,订单信息,菜单信息,订单处理信息结果显示,以及修改查询相关信息所得到的结果集。6.1.2一层数据流图系统用户超级管理员DF5-1DF1DF5-2DF6-1DF2Android应用子系统子系统Web服务子系统DF3DF6-2DF7系统数据库普通管理员DF4图2-2系统一层数据流图数据说明:其中DF1,DF2,DF3,DF4,DF7,DF8同顶层数据流相同DF5分解为DF5-1和DF5-2.DF5-1为用户输入到Android应用子系统的相关注册信息,用户的订单信息,用户退订
16、的信息。DF5-2为从Android应用子系统到web服务子系统的相关注册信息,用户的订单信息,用户退订的信息。DF6分解为DF6-1和DF6-2为web服务子系统返回的到web服务子系统的修改和查询订单、外卖相关的信息操作结果以及公共信息;DF6-1从Android应用子系统到用户的修改和查询订单、外卖相关的信息操作结果以及公共信息;6.1.3二层数据流图本系统中,Android应用子系统相关数据流比较简单,不在详细分析。只对web服务子系统的进行分解。前提:为图形简化,分析方便,不再考虑外部实体的数据流,只考虑子系统内部数据流动,并且由于访客只有浏览公共信息权限,因此,公共信息的浏览在下分
17、析中不再出现,下分析模型只考虑登录用户的功能与数据流向,并且由于数据流在上一层数据流图中有比较详细的说明,在以后的数据流图中除新出现的数据流外,不再进行说明。菜单表1.5外卖菜单管理用户表,管理员表,菜单表1.4外卖订单处理1.3外卖分类管理外卖分类表1.1登录注册用户管理各类用户1.2交互接口管理员,用户表Android应用子系统图2-3web管理子系统数据流图6.2 用例图图2-4 管理员用例图用例说明:本系统管理员包括两类:继承自管理员,分别是超级管理员和普通管理员。超级管理员具有管理管理员的功能,而普通管理员则负责本系统后台的管理。图2-5 总用例图用例说明:本系统有三类参与者:用户:
18、使用本系统想外卖出售方订餐的人超级管理员:管理管理员相关信息普通管理员:管理网站信息注册:注册用户申请网站会员资格下订单:挑选需要的食品,向网站发送订单信息取消订单:对于预定好的订单,不在需要的时候,用户可以取消订单修改密码资料:登录以后修改相关的密码信息,包括修改管理员和用户信息查询订单信息:申请订单之后,可以查询订单相关的信息。管理管理员:超级管理员可以管理普通管理员的信息,包括添加,修改,删除。添加外卖分类:在网站中,添加外卖的分类信息,将菜品分类。添加外卖信息:在有外卖分类的前提下,将外卖信息添加的已存在的外卖分类下。修改外卖分类:已添加的外卖分类,修改,删除,查询存在的相关信息修改外
19、卖信息:已添加的外卖信息,修改,删除,查询已存在的相关信息处理订单:用户下订单之后,管理员处理订单图2-6 用户用例图用例说明:修改密码资料:登录以后修改相关的密码信息,包括修改管理员和用户信息管理管理员:超级管理员可以管理普通管理员的信息,包括添加,修改,删除。添加外卖分类:在网站中,添加外卖的分类信息,将菜品分类。添加外卖信息:在有外卖分类的前提下,将外卖信息添加的已存在的外卖分类下。修改外卖分类:已添加的外卖分类,修改,删除,查询存在的相关信息修改外卖信息:已添加的外卖信息,修改,删除,查询已存在的相关信息处理订单:用户下订单之后,管理员处理订单图2-7 超级管理员用例图用例说明:管理管
20、理员:超级管理员可以管理普通管理员的信息,包括添加,修改,删除。6.3系统时序图和协作图6.3.1管理员登录时序图和协作图图2-8登录系统时序图图2-9登录系统协作图说明:1,发送输入信息:发送给服务器2,查询并验证:查询数据库,验证发送数据的正确性6.3.2管理员管理时序图和协作图图2-10管理员管理系统时序图图2-11管理员管理系统协作图说明:1输入各类信息,输入密码函数。2,增、删、改、查给类信息:增添删除修改查询,系统中的用户、菜品分类、菜品等信息。3,显示:刷新页面函数4、通知通知管理员的函数6.3.3用户操作时序图和协作图图2-12用户操作系统时序图图2-13用户操作系统协作图说明
21、:1输入各类信息,输入密码函数。2,增、删、改、查给类信息:增添删除修改查询,系统中的菜品,订单等信息。3,显示:刷新页面函数4、通知用户,通知用户的函数6.4系统活动图本系统中,因为主要的活动为用户订餐和普通管理员处理订单两个活动,因而,我们主要分析这两个活动。6.4.1用户订餐活动图图2-14用户订餐活动图6.4.2管理员处理订单活动图图2-15管理员处理订单活动图三、设计报告1 设计概述1.1 限制与约束本系统web管理端为B/S(浏览器/服务器)结构,采用JSP技术,系统框架为MVC模式,WWW服务器为TOMCAT 7,数据库服务器为SQL SERVER 2005,浏览器为IE 8。1
22、.2设计原则和设计要求l 系统环境: 服务器端:Windows 7操作系统,有IE8浏览器即可。 客户端:智能手机android 2.3系统l 安全性要求:只有授权用户才能登录系统,对于某个操作,需要具有相应权限才能进行操作。 l 平台中文化:采用GB2312编码标准;符合中文使用习惯的操作界面,所有与用户相关的信息都必须用中文显示。l 数据库采用JDBC连接方式:以JDBC方式并使用标准SQL语句对数据库进行操作2系统的概要设计与分析2.1系统功能设计此软件系统概要设计报告是基于交大外卖订餐系统需求分析报告所编写的,旨在按照客户需求开发出客户所需要的软件。Web端功能:l 管理员有权限限制,
23、普通和超级管理员所操作管理的层次不一样。l 管理员可更改密码,超级管理员可添加、删除普通管理员。l 可以添加外卖可预订资源,如菜单、饮料等,并填写外卖的描述信息。l 可以添加外卖分类,并填写新分类的描述信息。l 可以修改外卖的状态,有货或者缺货。l 可以对订单进行操作同步到客户端,第一时间通知用户。Android手机客户端功能:l 登录外卖android手机客户端,用户可以随时随地通过手机登录交大外卖的客户端。l 注册账号,用户若没有账号,可以通过手机客户端进行注册成为系统会员。l 修改个人信息,如果用户个人信息发生了改变,用户可以通过手机登录的方式方便地更改个人信息,这也为交大外卖管理用户的
24、信息资料提供了便利。l 预订资源,这是本系统最重要的部分,用户可以通过本系统方便快捷地预订其想要的外卖,这也是为用户提供的最主要的功能。l 查看订单,当用户想要查询预订结果,或者想要了解订单的详细信息时,通过手机客户端可以快速查看订单。2.2子系统与模块交大外卖订餐管理系统具有两大子系统,android客户应用子系统和web管理子系统。2.2.1 android客户应用子系统android客户应用子系统包括登陆注册模块、修改个人信息模块、外卖资源模块、订单模块。(1) 登陆注册模块包括用户注册和用户登录两大功能。NO.1 用户注册基本功能用户填写个人信息进行注册。输入项用户名、密码、手机号码、
25、送餐地址、性别、电子邮箱输出项注册成功、注册失败、用户名已存在等NO.2 用户登录基本功能用户进行登录。输入项用户名、密码输出项登录成功、登录失败(2) 修改个人信息模块包括修改个人信息功能。NO.3 修改个人信息基本功能用户登陆后对个人信息进行修改输入项密码、手机号码、送餐地址、性别、电子邮箱输出项修改成功、修改失败(3) 外卖资源模块包括查看外卖信息。NO.4查看外卖信息 基本功能查看所有外卖的信息。输入项无输出项名称、规格、价格、状态(4) 订单模块包括下订单、查询订单功能。NO.5 下订单基本功能用户进行外卖订餐输入项要求送货时间、最晚到货时间输出项预订成功并显示订单信息NO.6 查看
26、订单基本功能对订单详细信息进行查看输入项无输出项订单编号、下单时间、送货状态2.2.2 web管理子系统web管理子系统包括修改密码模块、管理员管理模块、外卖分类管理模块、外卖资源管理模块、订单管理模块。(1) 修改密码模块包括修改密码功能。NO.1 修改密码基本功能修改自己的密码输入项用户名、原密码、新密码、密码确认输出项修改成功、修改失败(2) 管理员管理模块包括添加管理员、删除管理员功能。NO.2 添加管理员基本功能超级管理员添加普通管理员输入项登录名、登录密码输出项添加成功、添加失败NO.3 删除管理员基本功能删除已有普通管理员输入项无输出项删除成功、删除失败(3) 订单管理模块包括处
27、理订单功能。NO.4 处理订单基本功能对android客户端提交的订单进行处理输入项预订成功、预定中、预定失败输出项字符串信息,通知客户端处理结果(4) 外卖分类管理模块包括添加外卖分类信息功能、修改外卖分类信息功能、删除外卖分类功能。NO.5 添加外卖分类信息基本功能添加外卖类别信息输入项类名、图片、描述、备注输出项添加成功、添加失败NO.6 修改外卖分类信息基本功能修改外卖分类信息输入项类名、图片、描述、备注输出项修改成功、修改失败NO.7删除外卖分类信息基本功能删除外卖分类信息输入项无输出项删除成功、删除失败(5) 外卖信息管理模块包括添加、修改、删除外卖资源信息功能。NO.8 添加外卖
28、资源信息基本功能添加外卖资源信息输入项名称、分类、规格、价格、描述、状态输出项添加成功、添加失败NO.9 修改外卖资源信息基本功能修改外卖资源信息输入项名称、分类、规格、价格、描述、状态输出项修改成功、修改失败NO.10 删除外卖资源信息基本功能删除外卖资源信息输入项名称、分类、规格、价格、描述、状态输出项删除成功、删除失败2.3系统出错处理设计系统出错出理设计主要通过两种方法来实现,一是JAVA程序中抛出异常;二是在程序中设置逻辑判断来实现。如果发生错误,将错误信息在后台输出,并将页面转到错误处理页面。2.4 系统接口设计 本系统的接口主要分为三大类接口,一是与数据库服务器的接口;二是各子系
29、统及各页面间的接口。 2.4.1数据库服务器接口设计对于数据库服务器接口,采用主流的JDBC接口, JDBC(Java Data Base Connectivity, java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。2.4.2系统内部接口设计系统内部接口一般采用WEB内部对象SESSION 、REQUEST和POST来实现,当系统需要登录才能执行相应的操作
30、时,采用SESSION来传值,主要实现在服务器端代码内部中传值,具体的实现方法主要通过两个函数来实现,一是session.setAttribute(),另一个是session.getAttribute();当系统需要从客户端向服务器端来传值时,用REQUEST和POST对象来实现。2数据库设计2.1数据库逻辑设计2.1.1数据库E-R图1. 用户实体包括用户名、性别、密码、电子邮件、联系电话、送餐地址。用户名送餐地址性别密码用户电子邮件联系电话图3-2 用户实体的E-R图2. 管理员实体包括管理员登录名、性别、密码、管理员级别。密码管理员级别管理员登录名管理员图3-3 管理员实体的E-R图3.
31、 外卖分类实体包括管编号、类名、图片、规则描述、描述。描述编号图片类名外卖分类规则描述图3-4 外卖分类实体的E-R图4. 外卖菜单实体包括菜编号、菜级别、菜名、描述、所属分组、价格、状态。菜编号菜级别描述外卖菜单菜名状态价格所属分组图3-5 外卖菜单实体的E-R图5. 订单实体包括订单编号、提交人、处理人、订单状态、提交时间、备注信息。订单编号处理人订单状态提交人订单备注信息提交时间图3-6 订单实体的E-R图6. 订单明细实体包括订单编号、所属订单号、菜单、处理状态、开始时间、结束时间。菜单订单编号所属订单号订单明细处理状态开始时间结束时间图3-7 订单明细实体的E-R图2.1.2数据库关
32、系图图3-8 数据库各表关系图说明:l resource表中的rgroup关联rgoup表中的gidl oinfo表中的rgid关联resource表中的rgid2.2 基表设计基表编号:1基表英文名称:adinfo基表中文名称:管理员表字段编号字段名称数据类型主键是否为空说明1Adnamevarchar(20)是否管理员登陆名2Adpwdvarchar(20)否否管理员密码3Adlevelint否否管理员级别基表编号:2基表英文名称:users基表中文名称:用户表字段编号字段名称数据类型主键是否为空说明1Unamevarchar(20)是否用户登录名2Pwdvarchar(20)否否登录密码
33、3telNumvarchar(20)否否联系电话4realNamenvarchar(100)否否送货地址5Genderchar(10)否否性别(默认男)6Emailvarchar(40)否否电子邮件基表编号:3基表英文名称:rgroup基表中文名称:外卖分类字段编号字段名称数据类型主键是否为空说明1gIdint是否编号2gNamenvarchar(10)否否类名3gImgvarchar(40)否否图片4gDetailnvarchar(200)否否描述5gOrderDetnvarchar(200)否否备注信息基表编号:4基表英文名称:resource基表中文名称:菜单字段编号字段名称数据类型主键
34、是否为空说明1Ridint是否菜编号2Rgroupint否否所属分组3Rgidnvarchar(20)是否菜名4Rlevelnvarchar(20)否否菜级别5Rmoneydouble否否价格6Rdetailnvarchar(100)否否描述7Rstatusnvarchar(20)否否状态(默认有货)基表编号:5基表英文名称:olist基表中文名称:订单表字段编号字段名称数据类型主键是否为空说明1Oidint是否订单编号2Onamevarchar(20)否否提交人3Otimevarchar(20)否否提交时间4Odealvarchar(20)否否处理人(默认无)5Ostatusvarchar(
35、20)否否订单状态(默认预定中)6oreasonvarchar(100)否否备注信息(默认无)基表编号:6基表英文名称:oinfo基表中文名称:订单明细字段编号字段名称数据类型主键是否为空说明1Oridint是否预定编号2Oidint否否所属订单号3Rgidvarchar(20)否否菜单4Ftimevarchar(20)否否开始时间5Etimevarchar(20)否否结束时间6Ostatusvarchar(20)否否处理状态(默认预定中)备注:l resource表中的rgroup关联rgoup表中的gidl oinfo表中的rgid关联resource表中的rgid3系统详细设计与实现3.
36、1 web端系统功能的开发3.1.1服务器端总框架服务器端各个jsp文件和servlet文件的关系,如下图所示:说明:ListServlet、OrderServlet和RegAndLoginServlet是控制器,负责处理服务器Web端管理员发来的请求,DB是负责处理具体业务的工具方法类,这些jsp文件在前台显示。动作编号动作内容a管理员登陆b修改管理员密码c删除管理员d添加管理员e重置管理员密码f添加分类g修改、删除分类h修改、删除外卖i添加外卖j修改、删除外卖k显示、处理订单3.1.2管理员登陆功能的开发打开Web端的登录页面,登录页面通过adindex.jsp实现,向控制器RegAndL
37、oginServlet发出请求并处理其返回信息来实现管理员的登录。开发RegAndLoginServlet,RegAndLoginServlet是交大外卖订餐系统主要的控制器之一,管理员的登录、注销、修改信息都要通过RegAndLoginServlet的处理并跳转。RegAndLoginServlet位于Web端项目WEB-INF/classes目录下,实现关键代码如下:RegAndLoginServlet.javapublic class RegAndLoginServlet extends HttpServlet public void doPost(HttpServletRequest
38、req, HttpServletResponse res)throws ServletException, IOException req.setCharacterEncoding(gb2312);res.setCharacterEncoding(gb2312);/ 得到请求的响应actionString action = req.getParameter(action);/ 得到session对象HttpSession session = req.getSession(true);PrintWriter pw = res.getWriter();String msg = ;if (actio
39、n.equals(adlogin) session.removeAttribute(adname);String adname = req.getParameter(adname).trim();/ 得到登陆名String pwd = req.getParameter(pwd).trim();/ 得到登陆密码/ 拼装从数据库得到登陆管理员密码的SQL语句String sqla = select adpwd from adinfo where adname= + adname+ ;String pwdFromDB = DB.getInfo(sqla);/ 执行查询得到正确密码if (pwdFro
40、mDB != null & pwd.equals(pwdFromDB) / 登陆成功session.setAttribute(adname, adname);/ 将登陆管理员保存进sessionmsg = 登陆成功。;/ 提示登陆成功 else / 登陆失败的提示msg = 错误的用户名和密码,请重新登陆 + 重新登陆;/ 将信息发送到信息显示页面req.setAttribute(msg, msg);req.getRequestDispatcher(adinfo.jsp).forward(req, res); else if (action.equals(adlogout) / 注销sessi
41、on.removeAttribute(adname);msg = 退出成功。;/ 提示注销成功req.setAttribute(msg, msg);req.getRequestDispatcher(adinfo.jsp).forward(req, res);3.1.3分类管理功能的开发本模块包含的功能主要有分类的添加、修改与删除。(1) 管理员登录系统后,在分类管理页面即可修改和删除分组。分组管理页面是由adminGroup.jsp显示的,管理员在adminGroup.jsp页面中选择修改/删除,将向ListServlet发出请求,ListServlet处理该请求,关键代码如下:ListSer
42、vlet.javapublic void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException req.setCharacterEncoding(gb2312);/ 设置req编码为gb2312res.setCharacterEncoding(gb2312);/ 设置res编码为gb2312String action = req.getParameter(action);/ 得到请求的响应actionHttpSession session = req.getSess
43、ion(true);/ 得到session对象/ 得到登陆的管理员IDString adnameSes = (String) session.getAttribute(adname);String msg = ;/ 声明消息字符串 else if (action.equals(editGroup) / 编辑分组int gId = Integer.parseInt(req.getParameter(gId);Vector ginfo = DB.getGroupInfo(gId);req.setAttribute(ginfo, ginfo);req.getRequestDispatcher(Gro
44、upInfo.jsp).forward(req, res);(2) 管理员登录系统后,在分组管理页面即可增加分组。分组管理页面是由adminGroup.jsp显示,管理员在adminGroup.jsp页面中选择添加分组,将由addGroup.jsp向ListServlet发出请求,ListServlet处理该请求,关键代码如下: else if (action.equals(addGroup) int gId = DB.getId(rgroup, gId);/ 得到添加分组的ID/ 得到填写的信息String gName = req.getParameter(gName);String gIm
45、g = req.getParameter(gImg);String gDetail = req.getParameter(gDetail);String gOrderDet = req.getParameter(gOrderDet);String sql = insert into rgroup(gId,gName,gImg,gDetail,gOrderDet)values(N + gId + ,N + gName + ,N + gImg + ,N + gDetail + ,N + gOrderDet + );/ 拼装SQLSystem.out.println(sql);if (DB.upda
46、te(sql) 0) / 执行更新msg = 添加分组成功返回; else msg = 未知错误,添加失败;this.forward(req, res, msg, adinfo.jsp);3.1.4外卖管理功能的开发本模块包含的功能主要有显示外卖信息、修改外卖信息、删除外卖信息、添加外卖和查询外卖。(1) 管理员登录系统后,外卖管理页面进行分页显示,需要开发的页面有adminResource.jsp和adminFenYe.jsp,实现代码如下。adminResource.jsp(2) 上述代码为adminResource.jsp,在其执行完成后,页面跳转至adminFenYe.jsp,关键代码
47、如下。adminFenYe.jsp%Vector list = (Vector) session.getAttribute(list);int group = Integer.parseInt(list.get(0);String gName = list.get(1);/得到分组名String cpStr = request.getParameter(cp);int currPage = 1;/设置默认当前页为第一页if (cpStr != null) currPage = Integer.parseInt(cpStr.trim(); /得到当前页int span = 5;/每页显示记录条数为5条int totalPage = DB.getTotal(span, group); /得到总页数%Vector v = DB.getPa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 京东尚科合同样本
- led灯具采购合同标准文本
- 临时农业种植合同样本
- 关于路灯合同样本
- 会员代理招募合同样本
- 共用线路三方协议合同样本
- 共建共用仓库合同样本
- 上海房屋预售合同样本
- 了解不同国家的调酒文化:试题及答案
- 深入分析2024年国家电网考试试题及答案
- 冲床基础板施工方案
- 福建省厦门市集美区2024-2025学年七年级上学期期末考试英语试题(无答案)
- 招生政策宣讲与解答
- 人教版六年级下册数学第二单元百分数(二)综合练习卷-(附答案)
- 摩斯密码表教程
- 2025年临床医师定期考核试题中医知识复习题库及答案(200题)
- 2025年审计署审计干部培训中心招聘历年高频重点提升(共500题)附带答案详解
- JJF(陕) 111-2024 超声流量计在线校准规范
- 2024年度城市公共交通线路特许经营协议2篇
- 心肺复苏术-cpr课件
- 神东煤炭集团笔试题
评论
0/150
提交评论