版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要□□如今互联网发展迅速,开始与人们的日常生活有越来越紧密的连系,人们生活得以有了便利,就比如网上订餐。一款好用的有个性的网上订餐系统可以给用户带来很好的用户体验,本文便是以一款基于spring框架,springmvc框架和mybatis框架的网上订餐系统为对象做了详细的设计和研究的记录,这个系统是用java语言在eclipse中编程的,运用了MySQL数据库来存储相关的数据信息,页面是jsp,为了丰富页面的内容,使用了css对页面进行了排版和美化,使用了jQuery框架来提升页面的处理性能。希望通过上述的技术和框架完成登录注册模块,智能点餐模块,后台管理模块,个人信息模块,购物车模块等,这些模块的组合将会生成一个好用的网上订餐系统。□□关键词:spring框架,springmvc框架,mybatis框架,MySQL数据库
Abstract□Nowadays,withtherapiddevelopmentoftheInternet,ithasbecomemoreandmorecloselyconnectedwithpeople'sdailylife.People'slifehasbecomeconvenient,suchasorderingmealsonline.Aneasy-to-useandpersonalizedonlineorderingsystemcanbringgooduserexperiencetousers.Inthispaper,adetaileddesignandresearchrecordofonlineorderingsystembasedonspringframework,springMVCframeworkandmybatisframeworkismade.ThissystemisprogrammedineclipsewithJavalanguageandusesMySQLdatabasetostorerelevantdatainformationandpagesFaceisJSP.Inordertoenrichthecontentofthepage,CSSisusedtolayoutandbeautifythepage,andjQueryframeworkisusedtoimprovetheprocessingperformanceofthepage.Ihopethatthroughtheabovetechnologyandframeworktocompletetheloginregistrationmodule,intelligentorderingmodule,backgroundmanagementmodule,personalinformationmodule,shoppingcartmodule,etc.,thecombinationofthesemoduleswillgenerateagoodonlineorderingsystem.□□Keywords:springspringmvcmybatisMySQL广东东软学院本科生毕业设计(论文)目录TOC\o"1-3"\h\u第1章绪论 11.1选题背景、目的及意义 11.1.1选题背景 11.1.2选题目的及意义 11.2国内研究现状 11.2.1国内研究现状 11.2.2国外研究现状 21.2.3发展趋势 21.3创新思路 2第2章相关理论基础 32.1mvc设计模式 32.2SSM框架 32.2.1spring框架 32.2.2Springmvc框架 32.2.3Mybatis框架 32.3jQuery 42.4MySQL数据库 42.5SQLyog 42.6搭建开发平台,配置相关的开发环境和文件 4第3章可行性分析与需求分析 53.1可行性分析 53.1.1技术可行性分析 53.1.2操作可行性分析 53.1.3法律可行性分析 第1章绪论1.1选题背景、目的及意义选题背景随着科技的发展,互联网的技术也日新月异,其与人们的生活联系越来越紧密,不断地丰富着着人们的生活,网上订餐便是互联网带给人们的一个极大的便捷。近年来,不断地有优质网上订餐软件出现,例如美团,饿了么等,人们可以在上面点餐,商户也通过这些软件使商品有了更多的销售额。本课题也是网上订餐系统,讨论了网上订餐系统的设计和开发,该系统以简洁,稳定,高效使用为主要特点,希望能够给用户和商户更多的平台来选择。选题目的及意义本系统是一个web端的网站订餐系统,以前叫外卖通常是通过电话,只能说菜名点餐,有很多菜品的更新也不及时,也没有很多的店供买家选择,而网上订餐则提供了图片,销量,可以让用户更直观地看到要点的食物,还可以看到不同菜品的销量进而看出受欢迎程度,而选择一些大众都觉得好吃的食物,避开一些不够好吃的食物,而商家也可以根据网上用户对菜品的喜好程度,有目的的购买食材,为了更方便的让用户使用,这个系统最大的特点是稳定,安全,简洁。该系统由spring,springmvc,mybatis作为基本框架来实现后端和连接数据库,jsp来实现网页,jquery来提供网页的动态交互,css来美化页面,MySQL来存储数据。希望能够提供给用户和商户更多的选择,让用户和商户可以有一个新的网上订餐系统进行点外卖和销售商品。1.2国内研究现状1.2.1国内研究现状现在国内网上订餐最流行的平台是饿了么和美团,其他的网上订餐系统也非常的多,在《外卖O2O平台发展现状与对策研究》[1]中可以看到网上订餐经过几个阶段的发展,越来越壮大。网上订餐在大城市基本普及了,但还是会上升,其他城市还有很大的潜力,在网上订餐的发展下,特别是容易接受新事物的年轻人中,网上订餐是很常见的事,在将来,随着外卖地不断地发展,各个年龄段的人都会进行网上订餐。1.2.2国外研究现状根据《数据解析,为什么中国外卖交易平台数据远超国外》[2]国外的网上订餐虽然起步的更早,但订单量却远远没有中国的高,比较流行的网上订餐平台如美国的GrubHub,UberEats,印度的swiggy等,佣金率都比中国高很多,这是由于外国的人工费更高,这也导致外国的外卖平台的佣金率比中国多了两倍。总体来说是远远没有中国的网上订餐系统发展的好。1.2.3发展趋势网上订餐还处于形成期,它的发展空间还很大,它会以它的诸多优点,如方便,快捷,给人们带来极大的便利,从而使得网上订餐变得越来越流行,网上订餐将会成为人们生活中很常见的选择。而一个有自己特点的网上订餐系统能够给买家和卖家提供更多的选择和便捷,这也使得网上订餐的1.3创新思路互联网的分工会越来越明确,不同的系统负责的功能越单一越简洁最好,我认为网上点餐也是如此,不用在一大堆功能中寻找订餐的功能,也不用在饥肠辘辘的时候还要计算点那些商品会更有优惠,以及领取各种红包等繁杂的操作,只需要点开本课题的系统,就能够直接进行网上订餐,价格都明码标注,下单后输入个人信息,以最简洁的方式提供给用户点餐。
第2章相关理论基础mvc设计模式mvc是一种软件开发的设计模式[3],它把数据,显示及处理分离开来,使它们各自处理自身的业务。m是模型,用来处理数据;v是视图,是显示页面;c则是控制器,用来处理交互。代码使用mvc模式来开发,可以使得代码的重用率得到提高,而且代码的可维护性很好。SSM框架spring框架Spring是轻量级的java开发框架[4],主要运用在业务层,使用它来开发程序,可以简化开发者的开发过程,还能降低程序的耦合。它主要有两个核心:ioc和aop。ioc即为控制反转,用来管理设计好的ioc容器中的对象,对象的创建和依赖关系都是容器自动管理的,不在需要开发人员自己来创建或者处理它们的依赖关系。aop则提供面向切面的编程,方便开发的人对程序进行拦截或监控。Springmvc框架Springmvc是一款实现了mvc模式的运用于javaweb层的轻量级框架[5],它的设计思想和mvc设计模式一样,但处理要复杂的多,它有很明确的角色划分,核心对象是前端控制器(是servlet),用来接收客户端的请求,不同的对象完成不同的不同的功能,它通过调度其他的对象,让它们协调的工作,来完成响应,这使得程序更加的灵活,代码重用率也更高。Springmvc还可以很好的整合spring,由于springmvc提供了前端控制器,所以开发者也不用再去开发其他的控制器,而这使得开发者能把时间精力用到业务的开发中。Mybatis框架Mybatis是很流行的持久层框架[6],它封装了jdbc的操作,使得不用进行jdbc代码的编写和结果集的获取;还支持动态的SQL,sql写在xml中,降低了SQL和java代码的耦合性,让程序的设计更简明,维护起来更简单;它也支持java对象和数据库字段的映射。jQueryjQuery库是一个轻量级的JavaScript库[7],它封装了JavaScript的代码,使得开发者用更少的代码,实现的更多的功能。MySQL数据库MySQL数据库是关系型数据库[8],以灵活,小巧,免费而流行,MySQL虽然小巧,但功能是很完备的,性能也很好,安全性和可靠性很高。SQLyog是一个MySQL数据库的可视化工具,可以直接映射数据库中的表,更加直观简便的操作数据库的表,这样可以方便开发人员对数据库的相关操作。2.6搭建开发平台,配置相关的开发环境和文件开发环境:是在Windows10上开发的。运行环境:是jdk8.0,是java的运行环境。开发工具:是eclipse,是一款开源,免费的开发工具,很适合开发java。服务器:是Tomcat。数据库:是关系型数据库MySQL。数据库可视化工具:SQLyog,可以提供MySQL的视图,并且在上面进行数据库的操作。配置好上述工具和运行环境。由于该系统是基于SSM框架的,为了开发的方便,在eclipse中安装spring的插件。安装好后,在eclipse中创建lib包,导入开发SSM所需要的jar包,MySQL的jar包以及jQuery包等。在eclipse中创建SSM开发所需的不同的xml,properties文件,修改web.xml。浏览器(客户端):搜狗浏览器
第3章可行性分析与需求分析3.1可行性分析3.1.1技术可行性分析本系统是基于SSM框架的,其中spring框架用来管理java对象,通过注解把java对象放到IOC容器中,当其他业务需要使用对象时,IOC容器会自动的创建对象,并且对象间的依赖关系会自动设置。用springmvc框架来完成web层,通过控制器类接收客户端的请求,并调用处理器类来完成功能,最后返回给页面。Mybatis作为持久层连接数据库,并对结果集进行操作。数据的存储是存在MySQL中,可以稳定,安全的保存,其效率也很高。关于页面的交互性,使用jQuery能很好的完成。综上所述,本系统在技术层面是可以实现的。3.1.2操作可行性分析本系统操作简单,界面整洁,页面中的图片和文字可以提示用户的操作,当信息错误或者一些功能操作成功时会有弹窗提示,交互性很好。用户可以简单快速的掌握本系统的使用。3.1.3法律可行性分析本系统的开发所使用的工具和技术都是开源的,即是可以免费使用的,从官网上直接下载即可,相关的数据信息是在网上免费下载,只要不用于商业用途,则不是违法。3.1.4风险分析可能由于开发者的技术水平不足而导致一些功能不能实现,或者由于没有专业的测试人员,导致功能有隐藏的bug。可能由于没有专业的前端工程师而使得页面不够好看,达不到预期,这些都在可接受的范围内,只需本系统的大体功能要完成即可。3.2需求分析3.2.1功能需求分析超级管理员用户登录到后达后台管理页面,超级管理员可以对系统进行相关的设置,如添加和删除用户和菜品,设置订单是否正在配送,是否已送到用户。点击首页可以跳转到食物展示页面,在食物展示页面中的左侧点击分类可以展示不同的菜品,可以进行点餐,点击菜篮子可以跳转到购物车,点击下单会跳转到登录注册页面,普通用户可以登录注册,在登录状态下可以下单,点击下单会跳到个人信息页面。点击确认下单会跳到订单页面。3.2.2性能需求分析在数据处理能力上,可以同时支持100人同时订餐,处理文件可以达到100个。在时间特性上,系统响应不能超过3秒,页面更新处理不能超过1秒,数据库的查询速度不能超过0.5秒。3.2.3数据库需求数据库要尽量满足三大范式,即每个属性都要是最小的,不能在分割,主键要和其他列相关,而且是直接相关。在这个基础上,创建至少要有8个表,分别存储菜品的分类,用户的个人信息,日志,管理员,菜品,用户,订单,权限。
网上订餐系统设计4.1系统的总体功能设计本网上订餐系统有前后台两部分。前台供普通用户使用,可以进行选择菜品,下单,如果用户没有登录,需登录,如果没有账户,可在注册页面先进行注册,其功能流程如图4-1所示。普通用户的用例图如图4-2所示。图4-1功能流程图··图4-2普通用户用例图后台供超级管理员使用,超级管理员先登录,使用后台管理对用户,日志,菜品分类,订单和菜品进行操作。超级管理员的用例图如图4-3所示。图4-3超级管理员用例图按照系统的功能把本系统分为登录注册模块,智能点餐模块,后台管理模块,个人信息模块,购物车模块。4.2登录注册模块的设计超级管理员的登录界面,需要输入账号密码和验证码,在都正确的条件下,会登录成功跳转到后台管理页面。在账号,密码或验证码任何一个错误时会提示错误并且不跳转。用户登录界面需要输入账号和密码,账号密码正确时登录成功,账号或密码输入错误时会提示输入错误。具体流程如图4-4所示。用户注册需要输入用户名,密码和确认密码,用户名不可以是存在的,两次密码输入需要保持一致,否则注册失败。注册成功会跳转登录页面,注册失败不跳转。不管成功失败都会有所提示。具体流程如图4-5所示图4-4用户登录流程图图4-5注册流程图4.3智能点餐模块的设计智能点餐模块为用户选择菜品,查看所选菜品,下单几个主要功能。选择菜品是在菜品展示页面进行,点击左侧菜品分类,右边可以展示相应分类的菜品。点击菜品右下角的加号,可以往购物车添加菜品,点击减号会去除或减少菜品。查看菜品在菜篮子页面。下单是用户购买菜品,需在登录状态下才能下单,并且用户需填写个人信息。4.4后台管理模块的设计后台管理系统模块供超级管理员使用,主要有以下功能:系统设置,用户管理,系统日志,菜品管理,客户管理,订单管理。其总体功能如图4-7所示。图4-6后台管理模块图在系统设置中,超级管理员可以对菜单,角色进行管理,也可修改密码。菜单管理修改管理后台的图标和名称。角色管理设置用户的权限。修改密码修改用户或超级管理员的账户的密码。在用户管理中,有用户列表,可以对超级管理员进行的信息进行编辑。在系统日志中,有日志列表,可以查看用户使用该系统的操作记录及时间,并且可以对日志进行操作。在菜品管理中有分类管理和菜品管理。分类管理可以对菜品的分类进行操作,菜品管理可以对菜品进行操作,修改他们的信息。在客户管理标签中,有客户列表,可以对用户进行基本信息的修改,也可添加删除。在订单管理标签中,有订单列表,可以对订单的基本信息进行修改,也可以改变订单的状态。4.5个人信息模块的设计个人信息模块是用户对自己的信息进行管理的模块,里面记录用户的基本信息,如密码,手机号码,姓名,地址。用户可以添加信息或者修改原有的信息。4.6购物车模块的设计购物车在本系统中叫做菜篮子,存放点好的菜品。用户可以对选好的菜品进行相应的操作,右上角有总计的价格。菜篮子中有选菜标签,清空标签,下单标签和订单中心标签。点击选菜可以返回菜品展示页面,右上角是所选菜品的价格,点击清空可以清空菜篮子中已经选好的菜品,在登录状态下点击下单跳转到配送信息页面,没有登录的状态下会跳到登录注册页面。如果没有选择菜品点击下单,会弹出对话框提示未选择菜品。点击订单中心可以查看以前的订单。
网上订餐系统实现5.1前端的开发前台开发需要的主要页面有login页面,登录页面,注册页面,菜品的展示页面,后台管理页面,菜篮子页面,商品下单页面,个人信息页面,加载页面以及错误页面等等。这些页面是jsp页面,把代码放再WEB-INF的views文件夹下,需要引用的css文件和JavaScript文件在resources文件夹中。结构如图5-1,图5-2所示。 图5-1前台页面结构图(a)图5-2前台页面结构图(b)这些页面可以分类为:错误页面错误页面用以提示用户当前页面出错。当用户操作出现错误,如输入错误的网址,没有足够的权限直接进入的网址,会跳转404错误提示页面,提示“不好意思,你访问的页面不存在”如图5-3所示。当系统出现错误,如服务器出错,会跳转到500错误提示页面,提示“不好意思,服务端错误啦”,如图5-4所示。图5-3404错误页面(a) 图5-4500错误页面(b)登录注册页面登录是该系统的使用者在进行一些功能时需要用到的权限的身份认证。该系统有:超级管理员登录页面,用户登录页面,用户注册页面。超级管理员登录页面超级管理员登录的页面,在系统运行时进入的页面,如图5-5所示,需要用户输入账号,密码,验证码。文本框有相应的信息提示。当输入错误的账户或密码,正确的验证码时,会提示“该用户名不存在”;当输入正确的用户名和验证码,密码错误时,会提示“密码错误”;当输入的验证码错误时,不管用户名和密码正确与否,都提示“验证码错误”。图5-5超级用户登录页面用户登录页面普通用户登录时的页面。用户在选好菜品下单时,如果系统不是登录状态,提示“请先登录”,点击“确定”跳转到登录页面,如图5-6所示,。登录页面需输入用户名和密码。当用户名不存在或者错误时,提示“用户名不存在”,当用户名正确密码错误时,提示“密码错误”。图5-6普通用户登录页面用户注册页面完成用户注册功能的页面,如图5-7所示。用户需要输入用户名,密码和确认密码,当密码和确认密码不一致时,会提示“两次密码输入不一致”。图5-7用户注册页面(5)后台管理页面超级管理员管理系统的页面。有跳转首页的功能,退出登录的功能,如图5-8所示。左边有超级管理员对这个系统操作的功能的目录,有系统设置,用户管理,系统日志,菜品管理,客户管理,订单管理,点击这些功能会显示它们的子目录,点击子功能目录,右边会显示操作该目录下的各种操作,这是ajax技术实现的。图5-8后台管理页面(6)菜品展示页面该页面是展示菜品的,左边有菜品的分类,右边是显示菜品的,点击不同的分类,右边会有不同的菜品显示。右下角还有“菜篮子”,点击会跳转到订单页面,如图5-9所示。图5-9菜品展示页面(7)菜篮子页面是展示选中的菜品的页面。用户在这个页面点击下单,或者查看订单,以及返回点餐页面,也可以对选中的菜品进行操作如图5-10所示。图5-10菜篮子页面订单中心页面显示用户以前的订单记录的页面。如图5-11所示。图5-11订单中心页面(8)加载等待页面页面或数据加载时所显示的页面。(9)用户信息页面用户的基本信息的页面。用户可以填写配送信息。如图5-12所示。图5-12用户信息页面5.2数据库的建立用SQLyog连接MySQL数据库,创建db_book_dinner数据库,在里面创建表accountauthority,food,food_category,log,menu,order_item,orders,role,user。数据库的普通用户er图如图5-13所示图5-13数据库er图如表5-1所示的account表,主要用于存储普通用户的基本信息。表5-1account表字段名称数据类型注解能否为空idInt(11)用户id,主键否namevarchar(50)用户名否passwordvarchar(50)密码否realNamevarchar(50)用户真实姓名能phonevarchar(15)电话能addressvarchar(100)地址能表5-2所示的authorit表主要用于存储超级管理员权限。表5-2authority表字段名称数据类型注解能否为空IdInt(11)用户id,主键否roleIdvarchar(11)外键,role表的id否menuIdvarchar(11)外键,menu表的id否表5-3所示的food表用于存储菜品的基本信息以及图片。表5-3food表字段名称数据类型注解能否为空idInt(11)自增索引,主键否categoryIdint(11)外键,food_category中的id否namevarchar(50)菜品名称否priceFloat(5,2)菜品价格否selsInt(5)菜品销量能imageUrlVarcher(200)图片地址能desvarchar(200)菜品的描述能表5-4所示的food_category表用于存储菜品的类别的名称。表5-4food_category表字段名称数据类型注解能否为空IdInt(11)自增id,主键否namevarchar(50)菜品的类别名称否表5-5所示的log表是用来存储日志的,如用户或者管理员在操作本系统时的事间和具体操作。 表5-5log表字段名称数据类型注解能否为空IdInt(11)自增id,主键否contentvarchar(200)记录系统的使用日志否createTimevarchar(50)使用的日期时间能表5-6所示的menu是用于存储权限的基础信息。表5-6menu表字段名称数据类型注解能否为空IdInt(11)自增id,主键否namevarchar(100)密码否urlvarchar(200)记录图标地址能iconvarchar(50)权限的名否表5-7所示的order_item是用于存储订单信息。表5-7order_item表字段名称数据类型注解能否为空IdInt(11)用户id,主键否orderIdvarchar(11)外键,order表的id否foodIdvarchar(11)外键,food表的id否foodNamevarchar(50)菜品名称否foodImagevarchar(20)菜品图片的url地址否pricevarchar(100)菜品的价格否foodNumInt(50)菜品的数量否moneyFloat(5,2)总计消费金额否表5-8所示的orders表是存储订餐用户信息。表5-8orders表字段名称数据类型注解能否为空IdInt(11)自增id,主键否accountIdvarchar(11)外键,account表的id否moneyFloat(5,2)消费金额否productNumvarchar(50)订单菜品否statusvarchar(2)订单状态否recieveNamevarchar(100)用户名否phonevarchar(20)用户的电话否addressvarchar(200)收货的地址否createTimevarchar(200)消费的时间否表5-9所示的role表是用于存储用户分类。表5-9role表字段名称数据类型注解能否为空IdInt(11)自增ID,主键否namevarchar(50)用户分的类的名否remarkvarchar(200)解释name的含义能表5-10所示的user表是用于存储超级管理员的基本信息。表5-10user表字段名称数据类型注解能否为空IdInt(11)自增ID,主键否usernamevarchar(50)用户名否passwordvarchar(20)密码否roleIdvarchar(11)外键,role的id否Photovarchar(200)超级管理员的头像路径能sexvarchar(1)超级管理员的性别能agevarchar(3)年龄能addressvarchar(200)地址能5.3后端的开发5.3.1整合框架整合spring,springmvc,mybatis框架,先导入spring,springmvc,mybatis开发所需的jar包。然后写它们的相关配置。spring的配置写包扫描的路径,配置数据库连接池c3p0,事务管理器,启动声明式事务驱动。Springmvc的配置写包扫描的路径,配置视图解析器,文件上传的相关设置和后台拦截器。在web.xml中配置spring配置文件信息,日志配置信息,前端控制器的配置。Mybatis配置两个配置文件,全局配置文件和映射文件。全局配置文件中配置连接的c3p0数据库,数据库的用户名和密码,引入映射文件路径。映射文件是实现数据库增删改查操作的配置文件。其配置文件如图5-14所示。 图5-14配置文件结构图5.3.2Javabean的编写Javabean是Java模型对象,Javabean可以映射MySQL数据库中对应表的数据。有用户信息实体,菜品信息实体,菜品分类信息实体,订单信息实体,订单子项信息实体,权限实体,系统日志实体,菜单实体,角色实体,用户实体,整体代码结构如图5-15所示。图5-15Javabean代码结构图5.3.3控制层的编写控制层(controller层)接收到客户端发送的请求调用业务层的逻辑去完成一些功能,获取数据并且传递给客户端的。控制层有很多的控制器,有客户有台管理控制器,菜品分类后台管理控制器,菜品后台管理控制器,日志管理控制器,菜单管理控制器,订单信息后台管理控制器,角色控制器,系统操作类控制器,用户管理控制器,前台控制用户器,前台订单控制器,前台首页控制器。控制器是系统实现功能的核心。开发控制器使用@requestmapping和@controller注解,其中@controller注解能把这些类定义成控制器并把他们放到spring容器中,在需要使用时会自动注入。@requestmapping可以把url请求路径映射到控制器上。跳转页面直接写要跳转的关键字,其余部分已经在配置文件中的视图解析器中进行了配置,跳转时会自动拼接成完整的路径。控制器代码结构如图5-16所示。 图5-16控制器代码结构图5.3.4业务层的编写业务层(Service层)与dao层交互,封装dao层的方法,实现特定的功能。该系统使用@service注解把这些类定义成业务层的组件并放到spring的IOC容器中,当被调用是直接使用。编写组件类的接口,声明主要的方法,然后在编写这些接口的实现类。接口有客户信息接口,菜品分类信息接口,菜品信息接口,订单信息接口,权限接口,日志接口,订单接口,菜品管理接口,角色接口,用户接口,这些接口都用@service注解加到spring容器中。编写这些接口的实现类,实现类中一样使用@service,在实现类的不同方法中调用dao层的不同类的不同方法,这些类用@autowire注解自动注入。业务层的代码结构如图5-17所示。图5-17业务层代码结构图5.3.5数据持久层的编写数据持久层(dao层)是访问数据库的层,对数据库进行增删改查操作,本系统的dao层通过mybatis框架的映射配置文件和数据库交互。分别对以下bean编写dao层组件类:客户信息,菜品分类信息,菜品信息,订单信息,权限实现,系统日志,菜单管理,角色,系统用户。在这些类中只编写要对这些对象需要进行的增删改查的操作的抽象方法。通过注解@Repository把类注册到spring容器中。这些定义的抽象方法在mybatis的映射文件中进行具体的操作编写。数据持久层代码结构如图5-18所示。图5-18数据持久层代码结构图5.3.6拦截器的编写后台登录拦截器在登录前后进行一些操作,需要编写的是如判断是否登录或登录是否失效,是否是ajax请求,以及重定向跳转到用户的登录界面。这个类继承HandlerInterceptor类,需在springmvc的配置文件中进行注册。拦截器的主要代码如图5-19所示。图5-19拦截器主要代码5.3.7分页功能分页功能类定义的方法可以让主页在展示从数据库获取到的结果集进行分页展示,可以设置每页展示多少条数据,其主要代码如图5-20所示。图5-19分页主要代码5.3.8验证码生成器的编写验证码生成器用以生成验证码,这些验证码用于超级管理员登录页面,防止恶意登录,从而使得系统的安全性更高。在这个类中需要设置验证码的数据源,字数长度,验证码图片样式和验证码数据样式。验证码的效果如图5-20所示。图5-20验证码效果图网上订餐系统的测试6.1对各个模块的测试6.1.1测试的标准操作:在网页上使用本系统,对各个功能进行使用,看功能是否达到预期,系统会不会出现bug。6.1.2测试的流程(1)登录注册模块的测试:进入超级管理员登录的界面,输入错误的账号密码,页面是否会弹出对话框提示;输入正确的账号密码,是否可以进入管理后台的页面。进入用户的登录注册页面,点击注册,是否会调转到注册页面。输入基本信息,点击注册,再去登录页面输入信息,看能否登录成功。(2)后台管理模块的设测试:点击左侧的功能标签,右侧是否会进行相应的页面刷新。对右侧的功能进行操作,能否正确的实现功能,查看MySQL数据库是否有对应的更新。点击右上角的网站首页,是否会进入菜品展示页面。点击安全退出能否跳转到超级管理员的登录页面。(3)智能点餐模块的测试:在菜品展示页面中,点击左侧的不同的菜品分类,右侧页面是否会展示相应菜品的展示。在点击菜品的“+”时,菜品个数是否会增加,左下角的菜品总计数器是否会增加,增加的个数与添加的个数是否相等,点击“-”时是不是反之亦然。点击菜篮子,能否跳转到购物车页面。(4)购物车模块的测试:在菜篮子页面,点击选菜能否跳转到菜品展示页面。查看右上角订单金额是否正确。点击清空,下面的选中的菜品会不会都取消。在选中的菜品的右侧的“+”,“-”能否增加和减少选中菜品的个数,右上角的订单金额是否进行相应的加减。如果用户是没登录状态,点击下单会不会弹出对话框提示登录;在用户登录状态下,点击下单会不会调到配送信息页面。点击订单中心,会不会跳转到订单信息页面。(5)个人信息模块的测试在订单中心里,显示的密码,手机号码,姓名,地址是否正确。编辑新的信息点击确认过后会不会保存。在后台管理页面的用户列表中,点击编辑能否改信息。6.1.3测试的结果本系统的各个模块都可以正常地运行,数据库的相应表单也会随着系统的操作进行增加,删除和修改操作,页面间传递的数据可以传递并且也是正确的,功能都能达到预期的效果,测试通过。6.2兼容性测试6.2.1对于客户端的测试操作:在不同的浏览器中进行运行系统,如IE浏览器,谷歌浏览器,火狐浏览器。结果:都能成功运行,且页面的效果都是预期的。6.2.2对于系统开发环境的检查测试操作:查看lib文件夹下的jar包版本是否匹配,java运行环境的版本和MySQL的版本是否是稳定版本。结果:开发环境没有问题。
总结本论文主要写了基于SSM框架的网上订餐系统的设计和开发。先通过分析研究国内外的网上订餐现状,了解网上订餐现状和发展趋势,寻找自己的创新点。首先明确该网上订餐系统需要用到的技术和工具,该系统的主要框架是spring,springmvc,mybatis,用MySQL作为数据存储,SQLyog是数据库可视化工具,jQuery实现动态交互。然后对要开发的网上订餐系统进行可行性分析和需求分析,通过可行性分析可以知道该系统在技术,操作,法律上是可实行的,并且经过风险分析,了解到在开发过程中可能遇到的问题。通过需求分析,对网上订餐系统的实现有更深刻的理解,功能需求分析了解该系统总体需要实现的功能,性能分析对系统的运行做了要求。之后对网上订餐系统的各个模块进行设计,明确系统的各个模块要实现的功能,确定各个模块间的联系。在此基础上,对系统进行相关的开发,如前台开发和后台开发,MySQL数据库需要的表等。系统开发完成后对该系统进行测试,检查出运行中可能存在的问题,修改它们,以保证系统能安全稳定的运行。
参考文献夏吟,阴健.外卖O2O平台发展现状与对策研究[J].信息与电脑(理论版),2015(14):107-109.亿欧,数据解析,为什么中国外卖交易平台数据远超国外[J].生活服务。2018任中方,张华,闫明松等.MVC模式研究的综述[J].计算机应用研究,2004(10)胡启敏,薛锦云,钟林辉.基于Spring框架的轻量级J2EE架构与应用[J].计算机工程与应用,2008(05)薛峰,梁锋,徐书勋,王彪任.基于SpringMVC框架的Web研究与应用[J].合肥工业大学学报(自然科学版),2012,35(03):337-340.荣艳冬.关于Mybatis持久层框架的应用研究[J].信息安全与技术,2015,6(12):86-88.周玲余.基于jQuery框架的页面前端特效的设计与实现[J].计算机与现代化,2013(01):61-63.兰旭辉,熊家军,邓刚.基于MySQL的应用程序设计[J].计算机工程与设计,2004(03):442-443+468.罗扬威,曾纪沾,网络订餐管理系统应用[J].科技传播,2018,10(17)许旺央.网上订餐系统的设计与实现[D].厦门大学,2013.肖睿,肖静,董宁,SSM轻量级框架应用实战[M],\o"人民邮电出版社"人民邮电出版社,2018田军,浅谈jQuery技术在Web开发中的应用[J].电子世界,2012(24)文欢欢,刘振宇,吴霖,基于Mybatis和JDBC的分页查询研究[J].电脑知识与技术.2015(25)刘中兵,开发者突击[M].电子工业出版社,2008杜丽英,才智基于JSP的网上订餐系统研究[J].2014(36)张波,张福炎基于JSP技术的Web应用程序的开发[J].计算机应用研究.2001(05)
致谢大学四年匆匆过去,现在已是大学的尾声,我非常感谢我的学校广东东软学院,它教育了我,让我遇到了一群志同道合和伙伴,在这四年的大学中我成长了很多。我也非常感谢在大学四年来教过我的老师,他们传授了我知识,带我入门各个学科,在他们的谆谆教导之下,我的学识得到了快速的增长。我特别感谢我的论文指导老师叶小莺老师,在她的不厌其烦地一次一次的指导下,我完成了我的论文。还很感谢那些在我遇到困难时,不管是生活中还是学习上,给我帮助的朋友,谢谢你们的陪伴。最后,我表示非常感谢这次对论文评审并给我意见的各位老师。
电脑不启动故障诊治了解电脑启动的过程在诸多电脑故障中,无法正常启动是最令用户头痛的事了。笔者长期从事维护电脑的工作,在这个方面积累了一些经验,现在就将这些经验整理归纳出来与朋友们分享。本文将以家用电脑和windows98操作系统为基础,介绍电脑无法正常启动故障的诊治。要想准确地诊断电脑不启动故障,首先要了解的起动过程,当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还没有完全稳定,主板控制芯片组会根据CMOS中的CPU主频设置向CPU发出一个Reset(重置)信号,让CPU初始化,电压完全稳定后,芯片组会撤去Reset信号,CPU马上从地址FFFF0H处执行一条跳转指令,跳到系统BIOS中真正的启动代码处。系统BIOS首先要做的事情就是进行POST(PowerOnSelfTest,加电自检)。POST的主要任务是检测系统中的一些关键设备(电源、CPU芯片、BIOS芯片、定时器芯片、数据收发逻辑电路、DMA控制器、中断控制器以及基本的64K内存和内存刷新电路等)是否存在和能否正常工作,如内存和显卡等。自检通过后,系统BIOS将查找显示卡的BIOS,由显卡BIOS来完成显示卡的初始化,显示器开始有显示,自此,系统就具备了最基本的运行条件,可以对主板上的其它部分进行诊断和测试,再发现故障时,屏幕上会有提示,但一般不死机,接着系统BIOS将检测CPU的类型和工作频率,然后开始测试主机所有的内存容量,内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,这些设备包括:硬盘、CD-ROM、软驱、串行接口和并行接口等连接的设备,大多数新版本的系统BIOS在这一过程中还要自动检测和设置内存的相关参数、硬盘参数和访问模式等。标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中已安装的即插即用设备。每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。最后系统BIOS将更新ESCD(ExtendedSystemConfigurationData,扩展系统配置数据)。ESCD数据更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责读取并执行IO.SYS,这是Windows最基本的系统文件。IO.SYS首先要初始化一些重要的系统数据,然后就显示出我们熟悉的蓝天白云,在这幅画面之下,Windows将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作,一切顺利结束,电脑正常启动。根据故障现象诊治了解电脑启动的过程,故障就好判断了,下面我们就根据故障现象开始诊治了:现象一:系统完全不能启动,见不到电源指示灯亮,也听不到冷却风扇的声音。这时,基本可以认定是电源部分故障,检查:电源线和插座是否有电、主板电源插头是否连好,UPS是否正常供电,再确认电源是否有故障,最简单的就是替换法,但一般用户家中不可能备有电源等备件,这时可以尝试使用下面的方法(注意:要慎重):先把硬盘,CPU风扇,或者CDROM连好,然后把ATX主板电源插头用一根导线连接两个插脚(把插头的一侧突起对着自己,上层插脚从左数第4个和下层插脚从右数第3个,方向一定要正确),然后把ATX电源的开关打开,如果电源风扇转动,说明电源正常,否则电源损坏。如果电源没问题直接短接主板上电源开关的跳线,如果正常,说明机箱面板的电源开关损坏。现象二:电源批示灯亮,风扇转,但没有明显的系统动作。这种情况如果出现在新组装电脑上应该首先检查CPU是否插牢或更换CPU,而正在使用的电脑的CPU损坏的情况比较少见(人为损坏除外),损坏时一般多带有焦糊味,如果刚刚升级了BIOS或者遭遇了CIH病毒攻击,这要考虑BIOS损坏问题(BIOS莫名其妙的损坏也是有的),修复BIOS的方法很多杂志都介绍过就不重复了;确认CPU和BIOS没问题后,就要考虑CMOS设置问题,如果CPU主频设置不正确也会出现这种故障,解决方法就是将CMOS信息清除,既要将CMOS放电,一般主板上都有一个CMOS放电的跳线,如果找不到这个跳线可以将CMOS电池取下来,放电时间不要低于5分钟,然后将跳线恢复原状或重新安装好电池即可;如果CPU、BIOS和CMOS都没问题还要考虑电源问题:PC机电源有一个特殊的输出信号,称为POWERGOOD(PG)信号,如果PG信号的低电平持续时间不够或没有低电平时间,PC机将无法启动。如果PG信号一直为低电平,则PC机系统始终处于复位状态。这时PC机也出现黑屏、无声响等死机现象。但这需要专业的维修工具外加一些维修经验,因此,建议采用替换法;电源没有问题就要检查是否有短路,确保主板表面不和金属(特别是机箱的安装固定点)接触。把主板和电源拿出机箱,放在绝缘体表面,如果能启动,说明主板有短路现象;如果还是不能启动则要考虑主板问题,主板故障较为复杂,可以使用替换法确认,然后更换主板。现象三:电源指示灯亮,系统能启动,但系统在初始化时停住了,而且可以听到嗽叭的鸣叫声(没有视频):根据峰鸣代码可以判断出故障的部位。ccid_page/AwardBIOS1短声:说明系统正常启动。表明机器没有问题。2短声:说明CMOS设置错误,重新设置不正确选项。1长1短:说明内存或主板出错,换一个内存条试试。1长2短:说明显示器或显示卡存在错误。检查显卡和显示器插头等部位是否接触良好或用替换法确定显卡和显示器是否损坏。1长3短:说明键盘控制器错误,应检查主板。1长9短:说明主板FlashRAM、EPROM错误或BIOS损坏,更换FlashRAM。重复短响:说明主板电源有问题。不间断的长声:说明系统检测到内存条有问题,重新安装内存条或更换新内存条重试。AMIBIOS1短:说明内存刷新失败。更换内存条。2短:说明内存ECC较验错误。在CMOS中将内存ECC校验的选项设为Disabled或更换内存。3短:说明系统基本内存检查失败。换内存。4短:说明系统时钟出错。更换芯片或CMOS电池。5短:说明CPU出现错误。检查CPU是否插好。6短:说明键盘控制器错误。应检查主板。7短:说明系统实模式错误,不能切换到保护模式。8短:说明显示内存错误。显示内存有问题,更换显卡试试。9短:说明BIOS芯片检验和错误。1长3短:说明内存错误。内存损坏,更换。1长8短:说明显示测试错误。显示器数据线没插好或显示卡没插牢。现象四:系统能启动,有视频,出现故障提示,这时可以根据提示来判断故障部位。下面就是一些常见的故障提示的判断:一、提示“CMOSBatteryStateLow”原因:CMOS参数丢失,有时可以启动,使用一段时间后死机,这种现象大多是CMOS供电不足引起的。对于不同的CMOS供电方式,采取不同的措施:1.焊接式电池:用电烙铁重新焊上一颗新电池即可;2.钮扣式电池:直接更换;3.芯片式:更换此芯片,最好采用相同型号芯片替换。如果更换电池后时间不长又出现同样现象的话,很可能是主板漏电,可检查主板上的二极管或电容是否损坏,也可以跳线使用外接电池,不过这些都需要有一定的硬件维修基础才能完成。二、提示“CMOSChecksumFailure”CMOS中的BIOS检验和读出错;提示“CMOSSystemOptionNotSet”,CMOS系统未设置;提示“CMOSDisplayTypeMismatch”,CMOS中显示类型的设置与实测不一致;提示“CMOSMemorySizeMismatch”,主板上的主存储器与CMOS中设置的不一样;提示“CMOSTime&DateNotSet”,CMOS中的时间和日期没有设置。这些都需要对CMOS重新设置。三、提示“KeyboardInterfaceError”后死机原因:主板上键盘接口不能使用,拔下键盘,重新插入后又能正常启动系统,使用一段时间后键盘无反应,这种现象主要是多次拔插键盘引起主板键盘接口松动,拆下主板用电烙铁重新焊接好即可;也可能是带电拔插键盘,引起主板上一个保险电阻断了(在主板上标记为Fn的东西),换上一个1欧姆/0.5瓦的电阻即可。四、自检过程中断在xxxKCache处这表示主板上Cache损坏,可以在CMOS设置中将“ExternalCache”项设为“Disable”故障即可排除。同理,在自检主板部件时出现中断,则可以认为该部件损坏,解决方法一般可以在CMOS中将其屏蔽,如果不能屏蔽该部件最好更换主板。五、提示“FDDControllerFailure”BIOS不能与软盘驱动器交换信息;提示“HDDControllerFailure”,BIOS不能与硬盘驱动器交换信息。应检查FDD(HDD)控制卡及电缆。六、提示“8042GateA20Error”8042芯片坏;提示“DMAError”,DMA控制器坏。这种故障需要更换。七、提示“DisplaySwitchNotProper”主板上的显示模式跳线设置错误,重新跳线。八、提示“KeyboardisLock...Unlockit”键盘被锁住,打开锁后重新引导系统。九、IDE接口设备检测信息为:“DetectingPrimary(或Secondary)Master(或Slave)...None”表示该IDE接口都没有找到硬盘,如果该IDE口确实接有硬盘的话,则说明硬盘没接上或硬盘有故障,可以从以下几方面检查:1、硬盘电源线和数据线是否接触不良,或换一根线试试;2、CMOS设置有无错误,进入CMOS将“PrimaryMaster”、“PrimarySlave”、“SecondaryMaster”三项的的“TYPE”都设置成“Auto”;3、替换法确认硬盘本身有故障。十、IDE接口设备检测信息下面显示“Floppydisk(s)fail(40)”出错信息表示CMOS所指定的软盘驱动器有问题。判断和解决的方法与硬盘相似。现象五:系统不能引导。这种故障一般都不是严重问题,只是系统在找到的用于引导的驱动器中找不到引导文件,比如:BIOS的引导驱动器设置中将软驱排在了硬盘驱动的前面,而软驱中又放有没有引导系统的软盘或者BIOS的引导驱动器设置中将光驱排在了硬盘驱动的前面,而光驱中又放有没有引导系统的光盘,这个都很简单,将光盘或软盘取出就可以了,实际应用中遇到“DiskBootFailure,InsertSystemDiskAndPressEnter”的提示,多数都是这个原因。如果是硬盘不能引导的话一般有两种情况:一种是硬盘数据线没有插好,另一种就是硬盘数据损坏。前者一般多会出现硬盘容量检测不正确和引导时出现死机的现象;后者则是干脆找不到引导文件或提示文件损坏。前者只需重新连接好数据线即可;后者则需要用win98的启动软盘或启动光盘启动,根据实际情况来定:一、提示“Invalidpartitiontable”或“NotFoundany[activepartition]inHDDDiskBootFailure,InsertSystemDiskAndPressEnter”,这说明找不到硬盘活动分区,需要对硬盘重新分区。二、提示“Missoperationsyste”,说明硬盘活动分区需要重新格式化(formatc:/s)。三、提示“InvalidsystemdiskReplacethedisk,andthenpressanykey”或显示“StartingWindows98…”时出现死机,说明硬盘上的系统文件丢失了或损坏,使用“sysc:”,命令传递系统文件给c盘,再将C拷贝给c盘。现象六:硬盘可以引导,但Windows不能正常启动,也不能进入安全模式。这种情况表明Windows98出现了严重的错误,首先,用杀毒软件查杀病毒,看是不是病毒造成的,如果没有发现病毒可以用以下方法试一试。一、直接将接口卡与各个外设都拨去,再插回去,并调整接口卡上的设置(如果可以的话)来检查是否是硬件冲突造成,开机看看是否可正常进入Windows。二、检查CMOS中的设置是否有不正确的地方,若不清楚,可选择LoadBiosDefault项目,然后重开机,开机看是否可正常进入Windows。三、在启动时按下F8键,一般会出现6个选项(如果安装了DOS6.22则出现7个选项)选择第4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年部编版历史八年级第二学期期末模拟训练卷一 含答案
- 2024年度人工智能技术与应用许可合同
- 2024年度宁波鄞州区的别墅买卖合同
- 2024年度版权许可使用合同标的与履行细节
- 2024年度机械设备租赁合同及维修服务条款
- 2024年度品牌授权合同:某知名足疗品牌与授权方之间的品牌授权合同
- 2024年度北京电子产品维修服务合同
- 2024年度农业技术转让与服务合同
- 2024年度楼梯工程赔偿合同
- 2024年度医药产品研发与许可合同
- 人教鄂教版版五年级上册科学期末测试题
- 工程造价专业《工程经济》课程标准
- DB13-T 5927-2024 地热资源开发监测技术规范
- 野外安全应急预案
- 智慧冷链物流产业园建设项目可行性报告
- 租赁营销方案
- 中医减肥药方-超有效分类型
- 小学科学试卷分析存在问题及整改措施4篇-
- JJF 1184-2024热电偶检定炉温度场测试技术规范
- 三年级数学倍的认识 省赛一等奖
- 老年护理之轮椅使用的护理
评论
0/150
提交评论