【基于JSP的网上订餐系统的设计与实现9000字(论文)】_第1页
【基于JSP的网上订餐系统的设计与实现9000字(论文)】_第2页
【基于JSP的网上订餐系统的设计与实现9000字(论文)】_第3页
【基于JSP的网上订餐系统的设计与实现9000字(论文)】_第4页
【基于JSP的网上订餐系统的设计与实现9000字(论文)】_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

统的设计与实现———基于JSP的网上订餐系统的设计与实现目录TOC\o"1-3"\h\u189141绪论 3195741.1开发背景与意义 356351.2研究现状 312651.3论文内容及结构 3222952系统开发技术和工具介绍 4160642.1开发工具简介 4319122.2开发技术介绍 4303952.2.1Java简介 4301622.2.2JSP简介 4221552.2.3SSM简介 5267743系统分析 6274563.1系统可行性分析 6308633.2系统需求分析 745283.3系统需求分析 7164693.4系统非功能性需求分析 9201594系统设计 9315224.1系统架构设计 9151084.2系统总体设计 921604.3数据库设计 993114.3.1概念模型设计 104244.3.2数据库表设计 12239365系统实现 1566765.1用户注册 15129135.2用户登录 169575.3菜品展示 17293435.4菜品搜索 18102015.5菜品详情展示 20173985.6生成订单 20143195.7用户留言 22204885.9用户管理 2412485.10分类管理 2590575.12订单管理 27131715.13留言管理 2862536系统测试 30251186.1系统测试 30129586.2系统维护 30128236.3测试目的 30132356.4测试实例 30301996.5测试结果 3117490参考文献 321绪论本章主要对网上订餐系统进行详细的描述,较为完整地介绍了该系统的开发背景,意义以及研究现状。1.1开发背景与意义近年来,随着人们日常工作、生活脚步的加快,越来越多的人们都会选择网上订餐,因此网上订餐已经越来越受人们的欢迎。通过网上订餐的方式,人们不仅可以通过电脑、手机等选择自己喜欢的食物,而且可以节约大量的时间,极大地方便的人们的日常生活。就目前而言,像“美团”、“饿了么”等这些网上订餐的平台,已经得到了很多人的青睐。因此,本次毕业设计决定开发这款“网上订餐系统”,该系统的开发顺应时代发展的潮流,能够满足人们日常的需求。1.2研究现状黄信洋(2019)指出伴随着我们现代高科技的快速发展,计算机的应用在当代的生活中日益广泛,已经逐渐深入人们的生活,网络技术与各个服务行业的连接日渐加强,各种方便的软件逐个被开发应用到现实生活中,在这样的大前提下,各个服务行业的前景也被无限放大[1]。杨彤蕾,李建(2018)指出随着计算机和网络的日趋发展,网上店铺如雨后春笋般出现,就连沃尔玛,金拱门这一类老品牌的商家都开拓了自己的网上购物渠道,有调查表明:无论是中国还是西方国家,越来越的用户已经习惯于网络购物,人们的消费平台逐渐开始向虚拟世界转移,而网上订餐是其中重要的一环,发展网络订餐平台已经成为了新的时代的新的需求[2]。ZimmerMeghanC.,BeairdJacob,SteevesElizabethT.Anderson(2020)指出电子商务的网上实践是从销售开始的,“网上订餐系统”打破了传统的食品销售形式,将和网络结合成一种典型的电子商务网站运作,能够直接绕过中间商,建立与客户的直接关系,“网上订餐系统”可以为用户提供商品的详细信息,用户可以在线购买商品、创建订单,可以浏览商品的详细信息、添加备注等[5]。1.3论文内容及结构本论文一共由七章组成,以下是对论文中每个章节的概述:(1)绪论本章节主要从开发网上订餐系统的背景、意义、以及系统的发展状况进行分析,详细描述了系统的在哪些方面能得到的应用。(2)系统开发环境介绍本章节主要介绍了设计该系统时使用的开发工具、技术详情、以及数据库概念和特点。(3)系统分析进行系统分析,先从需求分析开始,进而进行可行性分析、角色划分、角色功能分析等。(4)系统设计这一章节是对要开发的网上订餐系统进行设计,包括了系统结构和数据库的设计,并用图片和表格的形式进行展现出来。(5)系统的实现开发出的系统的主要界面进行展示。(6)系统测试这一章节是对程序进行最后的测试,通过测试发现问题,进而完善系统。通过输入不同组的测试数据进行测试的功能模块测试。(7)结束语本章节主要是对本次系统设计进行总结,以及对未来发展方向的展望。2系统开发技术和工具介绍本次毕业设计基于B/S模式,主要运用Java编程语言、HTML语言、SSM框架、JS、JSP等技术,采用MySQL做为数据库、Tomcat做为服务器和Eclipse开发工具实现,详细介绍如下。2.1开发工具简介该系统是用Eclipse进行开发的,Eclipse是一个基于Java的、开放源码的、可扩展的应用开发平台,它为编程人员提供了一流的Java集成开发环境(IntegratedDevelopmentEnvironment,IDE)。在Eclipse的官方网站中提供了一个JavaEE版的EclipseIDE。应用EclipseIDEforJavaEE,既可以创建Java项目,也可以创建动态Web项目[7]。Tomcat是一个轻微型服务器,主要用于Web项目的开发,是开发和调试JSP程序的首选[9]。它是开发JSP程序的首选,同时也是调试JSP程序的首选。Tomcat服务器实际上是Apache服务器的扩展,但它在运行时独立运行[8]。Tomcat是世界上广泛使用并支持JSP和Servlet的Web服务器,因此,在本次毕业设计中,我选择了使用Tomcat作为服务器。2.2开发技术介绍2.2.1Java简介Java是一款目前流行性很强的开发语言,无论在手机方面还是互联网方面,Java都应用广泛。这一款语言和C++很像,但Java摒弃了C++中很少使用的一些特征,继续保持C++语言受人们喜欢的一些优点:快速、安全。在使用Java进行开发程序时,Java面向对象的特点,可以让开发人员简单的使用,省去一些没有必要的操作,这样一来就可以节约时间,让开发人员可以用更多的时间精力来进行程序的研究[11]。2.2.2JSP简介JSP的扩展全称是JavaServerPages,是多个公司合作得以建立的一种动态网页技术标准。它是对Servlet的扩展,主要是为了简化开发Web程序的过程而产生的[12]。JSP页面由html的代码语句和嵌套在页面中的Java语句构成。它降低了对浏览器端的要求,因为服务器端承担了对程序的所有操作,而浏览器端只是呈现对系统操作后页面运行的效果。JSP这一技术的引入,主要原因是为了弥补servlet不方便展示信息的缺点,但它在本质上来说,也还是一个servlet。利用JSP能够使得开发出的程序具有动态、高性能的特点。在运行JSP项目时,需要安装服务器tomcat,它是JSP常用的一个引擎,免费而且开源,所以利用JSP开发的程序费用方面不用考虑。除了这一点,JSP还有很多优势,这也是为什么选用JSP来开发本本系统的原因。(1)ASP有专用语言的限制,而JSP没有,可用Java编写,同时还有很强的可移植性能。(2)JSP还能对很多网页格式进行支持。(3)在JSP程序开发中使用了Java,所以说,也有了Java的所有好处,包括编写一次就能处处都使用、安全性能高等。2.2.3SSM简介SSM框架指的是Spring框架、MyBatis框架、SpringMVC框架,它们三个都是开源框架,所以它也是一个开源框架。这三个中的Spring是轻量级的,主要有控制反转(IOC)和面向切面(AOP)两大技术点,而SpringMVC为Spring的一个后续产品,它将控制器、模型对象、分派器和处理程序对象的角色分离开来从而使它们定制起来更容易[13]。第三个框架MyBatis是支持SQL查询的持久层的框架,并支持存储过程、高级映射等。Spring是一个轻量式、低侵入式的框架。大部分Java程序都因为Spring而得到便捷,不仅仅在开发服务器上,还有简单性、可测试性和松耦合这些地方,都是获益良多的[14]。SpringMVC模块响应图如图2-1所示。图2-1SpringMVC模块响应图Mybatis的三层功能架构:(1)基础支持层:通过负责数据库连接、配置加载、缓存处理和事务管理这些部分来为上层提供支持。(2)数据处理层:通过负责生成SQL语句并对其进行解析、执行、处理结果映射等。(3)API接口层:给开发人员提供了大量API接口,从而与其他层协作对数据库进行一系列操作。下面是三层功能架构图,如图2-2所示。图2-2MyBatis三层功能架构图Mybatis的框架应用架构:(1)加载配置:编写配置文件mybatis-config.xml,包括:数据库连接、ORM映射、事务处理和缓存方式。(2)SQL解析:通过SqlSessionFactory建立SqlSession会话实例。(3)结果映射:将执行结果按照配置好的映射到结果集并返回。3系统分析这一章主要是对系统的的功能做了可行性分析和需求分析。分析了该在线订餐实现的功能以及完成这个项目后想要达到什么样的效果。3.1系统可行性分析系统的可行性分析是系统分析过程中的一个步骤。它是系统开发之前的一个环节。这个链接不是为了实现系统,而是通过简单的分析过程进行可行和深入的调查。从任务开始,系统的设计是可行的,并且还可以将设计的系统直接放置在稳定的服务器上。以下会从以下三个方面来入手。技术可行性在Java+MySQL的基础上,对本科学习阶段学习到的技术进行了深入研究,一些框架知识将更简单,更易学。因此,从MVC框架技术应用学习框架也有利于SPRING技术的操作和使用[10]。另外,经过我们的分析和考虑,通过一定的研究和分析可以解决上述难点和问题。经济可行性该系统效益可观。该系统估计项目的编写、运营和维护成本,估计未来收益以及成本是否高于收入。最后,认为该系统在经济上是可行的。法律可行性分析在任何情况下都不能越过法律的界限,本系统的开发在法律方面符合法律要求,分析系统是否涉及侵权、合同、责任向抵触的问题,避免出现。拓展可行原则系统在开发中要考虑后期的维护,对于拓展性方面,代码是否可以进行拓展和文本复用,随着人们需求的不断提高,系统也要结合实际进行不断升级,保证系统拓展后可以正常使用,数据可以存储大量信息。操作者如果需要添加、修改和删除功能,如果系统拓展差的话,系统可能会奔溃,导致不必要的麻烦的产生,所有我们在开发前期就应该想到系统的拓展性能,必须能够达到要求[11]。3.2系统需求分析网上订餐系统市场的潜力巨大,改变传统管理方式势在必行,推出可行的系统也很紧迫。用户需要实现的具体功能如下:用户注册:游客可以在注册页面注册账号。用户登录:输入已经拥有的账号进入。菜品展示:用户可在首页看到菜品的展示。搜索:用户可以在首页进行搜索自己心仪的商品。菜品详情展示:用户点击商品可以进入菜品的详情页,查看菜品的具体信息。生成订单:用户点击购买之后,系统自动生成订单并展现在用户的页面中。发布留言:用户可以对管理员进行留言,有助于管理员更好的管理网站。管理员需要实现的具体功能如下:(1)管理员登录:管理员可以在登陆页面进入网站后台管理系统。(2)用户管理:管理员可以在此模块对用户的信息进行查询、修改、删除等操作。(3)分类管理:管理员可以对菜品进行分类管理,并直接出现在用户的首页中。(4)商品管理:管理员可以对商品进行分详细的管理,可编辑商品的详情,也可增加商品和删除商品,管理员进行的操作直接出现在用户的首页中。(5)订单管理:管理员可以在此模块对用户产生的订单进行查看编辑等具体的操作管理(6)留言管理:管理员进入后台管理系统后,可以对用户的留言进行查看和相关操作。3.3系统需求分析根据对系统的功能分析,我们通过用例图对系统进行描述。用户用例图图如图3-1所示。图3-1用户用例图管理员用例图如图3-2所示。图3-2管理员用例图3.4系统非功能性需求分析系统非功能分析是对除了功能结构以外的信息进行分析,一个系统设计很多方面,我们需要保证所有信息都完善、确保稳定,能够正常运行。1、数据完整。我们要保证数据的完整,保证数据没有乱码出现,数据库中所有信息都可以进行前端展示。2、页面美观简洁。对页面的设计关系用户的体验,我们要保证页面设计简单易操作,用户可以很快的熟悉系统,进行购买。3、逻辑性。系统逻辑不能出现错误,第一步到第二部再到第三部,必须符合正常逻辑思维。4系统设计当系统分析完成之后,所需要做的就是对系统的详细设计。本章节的目的就是从逻辑和物理层面考虑搭建出可以实现的系统框架,方便后期的实现。4.1系统架构设计我们采用了B/S,采用B/S模式不仅可以避免用户必须安装专业软件才能开发系统或者访问系统的局限性,而且更加便利。4.2系统总体设计系统总体功能结构图如图4-1所示。图4-1系统功能结构图4.3数据库设计简而言之,数据库设计就是根据业务系统和您选择的DBMS的需求设计最佳的数据存储模型。4.3.1概念模型设计数据库在程序的设计中扮演了重要的角色,它将系统涉及的数据全部容纳其中,在数据库设计时,为了能够明确思路,一般都是先构建实体E-R图,在构建实体E-R图时采取先确定好实体,再规划实体属性的方法。实体:实体就是指可以摸到的存在的具有区分其他事物的特性或属性并与其他实体有联系的实体。属性可以理解为实体的特征,以下为本购物网站的相关实体介绍。(1)管理员实体包括ID、用户名、密码,管理员实体E-R图如图4-2所示。图4-2管理员实体图(2)商品分类实体包括ID、商品分类名,商品分类实体E-R图如图4-3所示。图4-3商品分实体图(3)订单实体包括ID、金额、地址、电话号码、订单时间,订单实体E-R图如图4-4所示。图4-4订单实体图(4)商品实体包括ID、商品名、优惠价格、商店标价、商品图路径、详情、上架时间,商品实体E-R图如图4-5所示。图4-5商品实体图(5)用户实体包括ID、用户昵称、密码、姓名、邮箱、电话、地址,用户实体E-R图如图4-6所示。图4-6用户实体图4.3.2数据库表设计以下为系统中使用的数据库表信息。(1)管理员表:用来存放管理员的基本信息,包括管理员ID、用户名、密码等信息。客户表如表4-1所示。表4-1管理员表列名数据类型长度备注uidint11IDusernamevarchar255用户名passwordint255密码(2)商品分类表:用于存放商品分类的基本信息,包括ID、商品分类名等基本信息。商品分类表如表4-2所示。表4-2商品分类表序号列名数据类型长度备注1idint11ID2c-namevarchar255商品分类名(3)订单表:用于存放订单的基本信息,包括ID、金额、地址、电话号码、订单时间等基本信息。订单表如表4-3所示。表4-3订单表序号列名数据类型长度备注1oidint11ID2moneyvarchar255金额3receiveinfovarchar255地址4phoNumvarchar255电话5Order_timevarchar255时间(4)商品表:用于存放商品的基本信息,包括商品ID、商品名、优惠价格、商店标价、商品图路径、商品详情、上架时间等相关信息。商品表如表4-4所示。表4-4商品表序号列名数据类型长度备注1pidint11ID2pnamevarchar255商品名3Market_pricevarchar255优惠价格4Shop_pricevarchar255商店标价5imagevarchar255商品图路径6pdescevarchar255商品详情7pdatevarchar255上架时间(5)用户表:用于用户的基本信息,包括ID、用户昵称、密码、姓名、邮箱、电话、地址等相关信息。课程表如表4-5所示。表4-5用户表序号列名数据类型长度备注1uidint11ID2usernamevarchar255用户昵称3passwordvarchar255密码4namevarchar255用户姓名5emailvarchar255邮箱6phoneint255电话7addrvarchar255地址

5系统实现为了将本系统的实现更详细的进行介绍,本章节对各个功能模块进行详细的展示和介绍。该网上订餐系统各模块的具体功能实现如下。5.1用户注册游客可以在此页面进行账号注册,便于系统管理员更好的管理系统,游客注册之后具有标识性,用户注册页面如图5-1所示。图5-1用户注册图用户注册核心代码:@RequestMapping("/userRegist") publicStringuserRegist(Modelmodel,HttpServletRequestrequest, @ValidatedUseruser,BindingResultbindingResult, @RequestParamStringcheckImg)throwsException{ if(bindingResult.hasErrors()){ List<ObjectError>errors=bindingResult.getAllErrors(); List<String>list=newArrayList<>(); for(ObjectErrorobjectError:errors){ Stringstr=newString(objectError.getDefaultMessage() .getBytes("ISO-8859-1"),"gbk"); list.add(str); } model.addAttribute("errors",list); return"regist"; } //查看验证码 StringsessionCode=(String)request.getSession().getAttribute( "checkcode");// System.out.println("adadadad"+sessionCode); if(!sessionCode.equalsIgnoreCase(checkImg)){// model.addAttribute("message","验证码错误请重新注册"); thrownewzdyException("验证码错误请重新注册"); } //开始写入数据库 userService.saveUser(user); //model.addAttribute("message","注册成功请去邮箱激活"); model.addAttribute("message","注册成功请登录"); return"ms

5.2用户登录如图5-2所示。图5-2用户登录界面用户登录关键代码://用户登录 @RequestMapping("/userLogin") publicStringuserLogin(HttpServletRequestrequest, @RequestParamStringcheckImg,Useruser,Modelmodel) throwszdyException,Exception{ StringsessionCode=(String)request.getSession().getAttribute( "checkcode"); if(!sessionCode.equalsIgnoreCase(checkImg)){ //model.addAttribute("message","验证码输入错误请重新注册"); //thrownewzdyException("验证码输入错误请重新注册"); request.getSession().setAttribute("message","验证码输入错误请重新注册"); return"redirect:login.action"; } UserloginUser=userService.loginFindByUnameAndPwd(user.getUsername(), user.getPassword()); if(loginUser==null){ //model.addAttribute("message","密码输入错误请重新登陆"); request.getSession().setAttribute("message","密码输入错误请重新登陆"); //thrownewzdyException("密码输入错误请重新登陆"); return"redirect:login.action"; } request.getSession().setAttribute("loginUser",loginUser); request.getSession().removeAttribute("message"); return"redirect:index.action";

}5.3菜品展示用户登录成功后,可以在网站首页看到各种各样的菜品,其具体功能如图5-3所示。图5-3菜品展示页面菜品展示关键代码:

@RequestMapping("/index") publicStringindex(Modelmodel,HttpServletRequestrequest)throwsException{ //查询一级分类 List<Category>cList=categoryService.findCategory(); request.getSession().getServletContext().setAttribute("cList",cList);// model.addAttribute("cList",cList); //查询热门商品 List<Product>hList=productService.findHotProduct(); model.addAttribute("hList",hList); //查询最新商品 List<Product>nList=productService.findNewProduct(); model.addAttribute("nList",nList); //滚动图片专用,最多显示3个商品 List<Product>sList; if(hList.size()>3) { sList=newArrayList<Product>(); sList.add(hList.get(0)); sList.add(hList.get(1)); sList.add(hList.get(2)); model.addAttribute("sList",sList); } else { model.addAttribute("sList",hList); } return"index"; }5.4菜品搜索用户在系统搜索框中可以直接对菜品进行准确搜索,可以有效的减少用户的选品时间,其界面图如图5-4和5-5所示。5-4搜索界面搜索功能关键代码:@RequestMapping("/searchProduct") publicStringsearchProduct(@RequestParamStringcondition,Modelmodel,HttpServletRequestrequest)throwsException{ //查询一级分类 List<Category>cList=categoryService.findCategory(); request.getSession().getServletContext().setAttribute("cList",cList); //查询商品 List<Product>hList=productService.findHotProduct(); model.addAttribute("hList",hList); //搜索商品 List<Product>srList=productService.searchProduct(condition); model.addAttribute("srList",srList); //滚动图片专用,最多显示3个商品 List<Product>sList; if(hList.size()>3) { sList=newArrayList<Product>(); sList.add(hList.get(0)); sList.add(hList.get(1)); sList.add(hList.get(2)); model.addAttribute("sList",sList); } else { model.addAttribute("sList",hList); } return"searchProdu

5.5菜品详情展示用户点击商品可以进入菜品的详情页,查看菜品的具体信息,其界面展示如图5-6所示。5-6菜品展示界面菜品展示关键代码:@RequestMapping("/productFindByPid") publicStringproductFindByPid(@RequestParamintpid,Modelmodel)throwsException{ Productproduct=prodcutSductFindByPid(pid); model.addAttribute("product",product); return"product"; }5.6生成订单在这个页面上,我们可以实现以下功能:用户点击购买之后,系统自动生成订单并展现在用户的页面中。其效果图如图5-7所示。5-7订单生成界面订单生成关键代码:@RequestMapping("/toOrder") publicStringtoOrder(HttpServletRequestrequest,Modelmodel)throwsException{ Ordersorders=newOrders(); Cartcart=(Cart)request.getSession().getAttribute("cart"); UserloginUser=(User)request.getSession().getAttribute("loginUser"); if(loginUser==null){ model.addAttribute("message","对不起您还没有登录"); return"msg"; }// 0表示没有付款、1表示已付款即将发货2表示确认收货3表示交易成功 orders.setState(0); //orders.setOrderTime(newDate());java.text.SimpleDateFormatsdf=newjava.text.SimpleDateFormat("yyyy-MM-dd");Stringtoday=sdf.format(newDate());orders.setOrderTime(sdf.parse(today)); orders.setUid(loginUser.getUid()); orders.setMoney(cart.getTotale()); orderService.toOrder(orders); Map<Integer,CartItem>cartItems=cart.getCartItem(); for(Entry<Integer,CartItem>entry:cartItems.entrySet()){ CartItemcartItem=entry.getValue(); Orderitemorderitem=newOrderitem(); orderitem.setProduct(cartItem.getProduct()); orderitem.setCount(cartItem.getCount()); orderitem.setPid(cartItem.getProduct().getPid()); orderitem.setSubtotal(cartItem.getSubtotle()); orderitem.setOid(orders.getOid()); orders.getOiList().add(orderitem); orderService.toOrderItem(orderitem); } cart.clearCart(); request.getSession().setAttribute("orders",orders); return"order"; }

}5.7用户留言用户可以登录,并提出自己的意见反馈,有助于管理员更好的管理网站,其展示如图5-8所示。5-8留言界面留言模块关键代码:@RequestMapping("/saveMessage") publicStringsaveMessage(@RequestParamStringmessageinfo,HttpServletRequestrequest,Modelmodel)throwsException{ MessageMessage=newMessage(); UserloginUser=(User)request.getSession().getAttribute("loginUser"); if(loginUser==null){ model.addAttribute("message","对不起您还没有登录"); return"msg"; } java.text.SimpleDateFormatsdf=newjava.text.SimpleDateFormat("yyyy-MM-ddHH:mm:ss"); Message.setMessage(messageinfo); Message.setUid(loginUser.getUid()); Message.setMessagedate(sdf.format(newDate())); messageService.insertMessage(Message); request.getSession().setAttribute("Message",Message); return"redirect:/messageList.action?page=1"; }}5.8管理员登陆管理员输入正确账号密码进入系统,如果错误则会对错误信息进行提示,管理员登录如下图5-9所示。5-9管理员登陆界面管理员登录关键代码://admin/adminUser_login.action//adminUser_login管理员登录 @RequestMapping("/admin/adminUser_login") publicStringadminUser_login(HttpServletRequestrequest,Modelmodel,@RequestParamStringusername,@RequestParamStringpassword)throwsException{ AdminuseradminuserLogin=userService.adminUser_login(username,password); System.out.println(username); System.out.println(password); if(adminuserLogin==null){ model.addAttribute("message","改用户未被授予管理员身份!"); return"admin/index"; } request.getSession().setAttribute("adminuserLogin",adminuserLogin);// model.addAttribute("adminuserLogin",adminuserLogin); return"admin/home"; }5.9用户管理管理员可以在系统中,对信息进行增删改查操作,如图5-10所示。5-10用户管理界面用户管理主要代码如下:@RequestMapping("/admin/admin_findAll") publicStringadmin_findAll(Modelmodel,HttpServletRequestrequest)throwsException{ AdminuseradminuserLogin=(Adminuser)request.getSession().getAttribute("adminuserLogin"); if(adminuserLogin==null){ request.getSession().setAttribute("message","对不起您还没有登录"); return"admin/index"; } List<User>userList=userService.admin_findAll(); model.addAttribute("userList",userList); return"admin/user/list"; } @RequestMapping("/admin/adminCategory_findAll") publicStringadminCategory_findAll(Modelmodel,HttpServletRequestrequest) throwsException{ AdminuseradminuserLogin=(Adminuser)request.getSession().getAttribute("adminuserLogin"); if(adminuserLogin==null){ request.getSession().setAttribute("message","对不起您还没有登录"); return"admin/index"; } List<Category>categoryList=categoryService.adminbFindCategory(); /*for(Categorycategory:categoryList){ System.out.println(category.getCname()); }*/ model.addAttribute("categoryList",categoryList); return"admin/category/list"; }5.10分类管理管理员登陆系统之后,可以看到分类管理模块,管理员可以对菜品进行分类管理,并直接出现在用户的首页中。具体如图5-11.5-11分类管理界面分类管理关键代码:@RequestMapping("/admin/adminCategory_findAll") publicStringadminCategory_findAll(Modelmodel,HttpServletRequestrequest) throwsException{ AdminuseradminuserLogin=(Adminuser)request.getSession().getAttribute("adminuserLogin"); if(adminuserLogin==null){ request.getSession().setAttribute("message","对不起您还没有登录"); return"admin/index"; } List<Category>categoryList=categoryService.adminbFindCategory(); /*for(Categorycategory:categoryList){ System.out.println(category.getCname()); }*/ model.addAttribute("categoryList",categoryList); return"admin/category/list"; }5.11商品管理 管理员进入后台管理系统之后,在商品管理模块,管理员可以对商品进行分详细的管理,可编辑商品的详情,也可增加商品和删除商品,管理员进行的操作直接出现在用户的首页中。具体如图5-125-11商品管理界面商品管理核心代码://admin的商品管理 @RequestMapping("/admin/adminProduct_findAllByPage") publicStringadminProduct_findAllByPage(@RequestParamintpage,Modelmodel,HttpServletRequestrequest) throwsException{ AdminuseradminuserLogin=(Adminuser)request.getSession().getAttribute("adminuserLogin"); if(adminuserLogin==null){ request.getSession().setAttribute("message","对不起您还没有登录"); return"admin/index"; } PageBean<Product>allProPageBean=productService.findAllProduct(page); model.addAttribute("allProPageBean",allProPageBean); return"admin/product/list"; } @RequestMapping("/admin/adminProduct_addPage") publicStringadminProduct_addPage(Modelmodel,HttpServletRequestrequest)throwsException{ AdminuseradminuserLogin=(Adminuser)request.getSession().getAttribute("adminuserLogin"); if(adminuserLogin==null){ request.getSession().setAttribute("message","对不起您还没有登录"); return"admin/index"; } //查询出所有的二级分类 List<Categorysecond>cslist=categorySecondService.findAll(); /*for(Categorysecondcategorysecond:cslist){ System.out.println(categorysecond.getCsname()); }*/ model.addAttribute("cslist",cslist); return"admin/product/add"; }5.12订单管理在系统中的订单管理模块,管理员可以对订单进行相关操作,具体如图5-13.5-13订单管理界面订单管理核心代码:/**订单管理模块**/ @RequestMapping("/admin/adminOrder_findAllByPage") publicStringadminOrder_findAllByPage(@RequestParamintpage,Modelmodel,HttpServletRequestrequest) throwsException{ AdminuseradminuserLogin=(Adminuser)request.getSession().getAttribute("adminuserLogin"); if(adminuserLogin==null){ request.getSession().setAttribute("message","对不起您还没有登录"); return"admin/index"; } PageBean<Orders>allProPageBean=orderService.findAllOrderByStateAndPage(page); model.addAttribute("pageBean",allProPageBean); return"admin/order/list"; } //adminOrder_findByState @RequestMapping("/admin/adminOrder_findByState") publicStringadminOrder_findByState(@RequestParamintpage,@RequestParamintstate,Modelmodel,HttpServletRequestrequest) throwsException{ AdminuseradminuserLogin=(Adminuser)request.getSession().getAttribute("adminuserLogin"); if(adminuserLogin==null){ request.getSession().setAttribute("message","对不起您还没有登录"); return"admin/index"; } PageBean<Orders>allProPageBean=orderService.findAllOrderByStateAndPage(state,page); model.addAttribute("pageBean",allProPageBean); return"admin/order/list"; } //订单详情 //adminOrder_findOrderItem @RequestMapping("/admin/adminOrder_findOrderItem") publicStringadminOrder_findOrderItem(@RequestParamintoid,Modelmodel,HttpServletRequestrequest) throwsException{ AdminuseradminuserLogin=(Adminuser)request.getSession().getAttribute("adminuserLogin"); if(adminuserLogin==null){ request.getSession().setAttribute("message","对不起您还没有登录"); return"admin/index"; } OrdersorderItems=orderService.findOrderByOid(oid); model.addAttribute("orderItems",orderItems); return"admin/order/list"; }5.13留言管理在系统中的留言模块,管理员可以对用户的反馈进行查看回复操作。具体如图5-14.5-14留言管理界面留言核心代码如下://后台留言管理 @RequestMapping("/admin/adminMessage_findAllByPage") publicStringadminMessage_findAllByPage(@RequestParamintpage,Modelmodel,HttpServletRequestrequest) throwsException{ AdminuseradminuserLogin=(Adminuser)request.getSession().getAttribute("adminuserLogin"); if(adminuserLogin==null){ request.getSession().setAttribute("message","对不起您还没有登录"); return"admin/index"; } PageBean<Message>pageBean=messageService.findAllMessageByPage(page); model.addAttribute("pageBean",pageBean); return"admin/message/list"; } @RequestMapping("/admin/adminMessage_delete") publicStringadminOrder_updateState(@RequestParamintmessageid,Modelmodel,HttpServletRequestrequest) throwsException{ AdminuseradminuserLogin=(Adminuser)request.getSession().getAttribute("adminuserLogin"); if(adminuserLogin==null){ request.getSession().setAttribute("message","对不起您还没有登录"); return"admin/index"; } messageService.deleteMessage(messageid); r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论