基于JAVA的网上订餐外卖系统(Java+MySQL)

news2024/12/24 10:36:39

美食是人类永恒的话题,无论是在古代还是现代人们对美食都有一种非常的热爱在里面,但是随着时代的发展,人们可能没有更多的时间去研究美食,很多时候人们在下班或者放学之后更希望通过网络来进行订餐,为此我开发了本基于JAVA的餐必达网上订餐系统
本餐必达网上订餐系统采用Java语言来进行开发,用小巧灵活的MySQL数据库做完后台存储解释。实现了有用户注册登录,查看系统内的热门美食,最新上市的美食和美食新闻等内容,此外用户可以根据自己的喜欢将需要的美食加入到购物车并进行购买,后台部分管理员可以对美食类型进行管理,对美食的基本信息进行发布以方便前台人员的购买,对用户购买的美食订单进行管理等功能,通过这些功能基本可以实现用户对美食购买的需求
请添加图片描述
基于JAVA的网上订餐外卖系统(Java:MySQL)-编号:jsp0812
请添加图片描述
系统管理员功能
1.管理系统用户信息管理:可以添加,删除,编辑,查询系统用户的信息:
2.管理新闻信息管理:可以添加,删除,编辑,查询美食新闻的信息:
3.管理美食类型管理:可以添加,删除,编辑,查询美食类型的信息:
4.管理美食信息管理:可以添加,删除,编辑,查询美食的信息:
5.管理订单信息管理:可以查看和管理用户的订单信息:
6.管理订单明细管理:可以查询订单详情的信息:
7.管理付款记录信息管理:可以查看用户的付款记录信息:
前台用户功能
1.注册登录:用户通过注册登录,可以进行购物功能:
2.查看美食信息:用户可以查看美食信息,并可在登录后将美食加入到购物车中:
3.查看美食新闻信息:可以查看美食新闻的相关信息:
4.购物车管理:用户可以对自己的购物车信息进行管理:
5.订单管理:用户可以对自己的订单信息进行管理:
6.收藏管理:用于可以对自己感兴趣但是暂时无需购买的美食进行收藏

package com.controller;

import java.io.File;
import java.io.IOException;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.PrintWriter;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import com.entity.Allusers;
//import com.chengxusheji.po.News;
import com.server.AllusersServer;
import com.util.PageBean;
import net.sf.json.JSONObject;

@Controller
public class AllusersController {
	@Resource
	private AllusersServer allusersService;


//	
   @RequestMapping("showAllusers.do")
   public String showAllusers(int id,ModelMap map,HttpSession session){
	 /*  Map<String,Object> bmap=new HashMap<String,Object>();
	   bmap.put("uid", id);*/
	  // map.put("blist", allusersService.getAll(bmap));
	   map.put("allusers", allusersService.getById(id));
	   return "read";
   }
   
	@RequestMapping("addAllusers.do")
	public String addAllusers(HttpServletRequest request,Allusers allusers,HttpSession session){
		Timestamp time=new Timestamp(System.currentTimeMillis());
		//Users u=(Users)session.getAttribute("user");
		/*if(u==null||u.equals("")){
			return "redirect:showIndex.do";
		}else{*/
			//bbs.setUid(u.getId());
			/*bbs.setPubtime(time.toString());
			bbs.setIsdel("1");*/
		    allusers.setAddtime(time.toString().substring(0, 19));
			allusersService.add(allusers);
			return "redirect:allusersList.do";
		/*}*/
		
		
	}
 
//	处理编辑
	@RequestMapping("doUpdateAllusers.do")
	public String doUpdateAllusers(int id,ModelMap map,Allusers allusers){
		allusers=allusersService.getById(id);
		map.put("allusers", allusers);
		return "allusers_updt";
	}
//	
	@RequestMapping("updateAllusers.do")
	public String updateAllusers(int id,ModelMap map,Allusers allusers){
		allusersService.update(allusers);
		return "redirect:allusersList.do";
	}
//	所有List
//	@RequestMapping("allusersList.do")
//	public String allusersList(ModelMap map,HttpSession session){
//		map.put("list", allusersService.getAll(null));
//		map.put("clist", allusersService.getAll(null));
//		return "allusers";
//	}
//	分页查询
	@RequestMapping("allusersList.do")
	public String goodList(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session,Allusers allusers, String username, String pwd, String cx){
		/*if(session.getAttribute("user")==null){
			return "login";
		}*/
		if(page==null||page.equals("")){
			page="1";
		}
		PageBean pageBean=new PageBean(Integer.parseInt(page), 15);
		Map<String, Object> pmap=new HashMap<String,Object>();
		pmap.put("pageno", pageBean.getStart());
		pmap.put("pageSize", 15);
		Map<String, Object> bmap=new HashMap<String, Object>();
		Map<String,Object> cmap=new HashMap<String,Object>();
		/*pmap.put("uid",  ((Users)session.getAttribute("user")).getId());
		bmap.put("uid", ((Users)session.getAttribute("user")).getId());*/
		if(username==null||username.equals("")){pmap.put("username", null);cmap.put("username", null);}else{pmap.put("username", username);cmap.put("username", username);}
		if(pwd==null||pwd.equals("")){pmap.put("pwd", null);cmap.put("pwd", null);}else{pmap.put("pwd", pwd);cmap.put("pwd", pwd);}
		if(cx==null||cx.equals("")){pmap.put("cx", null);cmap.put("cx", null);}else{pmap.put("cx", cx);cmap.put("cx", cx);}
		
		int total=allusersService.getCount(bmap);
		pageBean.setTotal(total);
		List<Allusers> list=allusersService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 1);
		return "allusers_list";
	}
//   分页模糊查询
	@RequestMapping("vagueAllusersList.do")
	public String vagueAllusersList(@RequestParam(value="page",required=false)String page,
			ModelMap map,HttpSession session){
		if(page==null||page.equals("")){
			page="1";
		}
		PageBean pageBean=new PageBean(Integer.parseInt(page),PageBean.PAGESIZE);
		Map<String, Object> pmap=new HashMap<String,Object>();
		pmap.put("pageno", pageBean.getStart());
		pmap.put("pageSize", pageBean.getPageSize());
		Map<String, Object> bmap=new HashMap<String, Object>();
		/*pmap.put("uid",  ((Users)session.getAttribute("user")).getId());
		bmap.put("uid",  ((Users)session.getAttribute("user")).getId());*/
		int total=allusersService.getCount(bmap);
		pageBean.setTotal(total);
		List<Allusers> list=allusersService.getByPage(pmap);
		map.put("page", pageBean);
		map.put("list", list);
		session.setAttribute("p", 2);
		return "queryallusers";
	}
	@RequestMapping("deleteAllusers.do")
	public String deleteAllusers(int id){
		allusersService.delete(id);
		return "redirect:allusersList.do";
	}
	
	@RequestMapping("quchongAllusers.do")
	public void quchongAllusers(Allusers allusers,HttpServletResponse response){
		   Map<String,Object> map=new HashMap<String,Object>();
		   map.put("username", allusers.getUsername());
		   System.out.println("username==="+allusers.getUsername());
		   System.out.println("username222==="+allusersService.quchongAllusers(map));
		   JSONObject obj=new JSONObject();
		   if(allusersService.quchongAllusers(map)!=null){
				 obj.put("info", "ng");
			   }else{
				   obj.put("info", "username可以用!");
				  
			   }
		   response.setContentType("text/html;charset=utf-8");
		   PrintWriter out=null;
		   try {
			out=response.getWriter();
			out.print(obj);
			out.flush();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			out.close();
		}
	}
	
	@RequestMapping("Alluserslogin.do")
	public String checkAllusersLogin(Allusers allusers, HttpSession session) {
		Map<String,Object> u=new HashMap<String,Object>();
		System.out.println("name===" + allusers.getUsername());
		u.put("username",allusers.getUsername());
		//u.put("utype", "用户");
		//Md5.MD5HexEncode(user.getPassword())
		u.put("pwd",allusers.getPwd());
		allusers = allusersService.allusersLogin(u);
		if (allusers != null) {
			session.setAttribute("username", allusers);
			System.out.println("username=" + allusers);
			session.removeAttribute("suc");
			return "redirect:index.do";
		} else {
			System.out.println("usernafwfwwme=");
			session.setAttribute("suc", "登录失败!用户名或密码错误!");
			return "login";
		}

	}
}

目录
1 绪论 1
1.1课题背景 1
1.2课题研究现状 1
1.3初步设计方法与实施方案 2
1.4本文研究内容 2
2 系统开发环境 4
2.1 使用工具简介 4
2.2 环境配置 4
2.3 B/S结构简介 4
2.4 MySQL数据库 5
2.5 框架介绍 5
3 系统分析 6
3.1系统可行性分析 6
3.1.1经济可行性 6
3.1.2技术可行性 6
3.1.3运行可行性 6
3.2系统现状分析 6
3.3功能需求分析 7
3.4系统设计规则与运行环境 8
3.5系统流程分析 8
3.5.1操作流程 8
3.5.2添加信息流程 9
3.5.3删除信息流程 10
4 系统设计 11
4.1系统设计主要功能 11
4.2数据库设计 11
4.2.1数据库设计规范 11
4.2.2 E/R图 11
4.2.3数据表 12
5 系统实现 25
5.1系统功能模块 25
5.2后台模块 27
5.2.1管理员功能模块 27
5.2.2用户功能模块 30
6 系统测试 33
6.1功能测试 33
6.2可用性测试 33
6.3性能测试 34
6.4测试结果分析 34
7结 论 35
参考文献 36
致 谢 37

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/95613.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在写vue的项目中为什么index不能做key使用?

前言 在我们写vue的的项目时&#xff0c;我们是否会疑惑后端数据为什么都会带一个Id&#xff0c;而这个Id一般都作为循环中的key来使用&#xff0c;我们为什么不直接用index来作为他的key呢&#xff1f;这样不是更方便吗&#xff1f;下面我就带大家解决解决这和疑惑吧。 key的…

深度学习-归一化输入,梯度消失爆炸,梯度检验

文章目录前言一、归一化输入1、均值方差归一化2、why normalize input?二、梯度消失&#xff0c;爆炸1.梯度2.深度网络学习初始化三、梯度检验梯度检验前言 吴恩达 week5 一、归一化输入 1、均值方差归一化 均值方差归一化。 要注意&#xff1a;我们要对训练数据集和测试数…

探花交友_第9章_小视频方案(新版)

探花交友_第9章_小视频方案(新版) 文章目录探花交友_第9章_小视频方案(新版)1. 我的访客1.1 需求分析1.1.1 功能说明1.1.2 数据库表1.2 记录访客数据tanhua-modeltanhua-app-servertanhua-dubbo-interfacetanhua-dubbo-mongo1.3 首页谁看过我需求分析tanhua-modeltanhua-app-se…

小学生 C++画图 Go C 编程 第7课 奇异的花朵

第一课 GoC简介和演示 第一课 GoC简介和演示_ahwhjt的博客-CSDN博客_goc输入图形数量 第二课 了解编程环境 第二课 了解编程环境_ahwhjt的博客-CSDN博客_goc编程环境 第三课 基本绘图命令 第三课 基本绘图命令_ahwhjt的博客-CSDN博客_电脑编程的pen.lt 第四课 变量的引入 第…

重写 Nacos 服务发现:多个服务器如何跨命名空间,访问公共服务?

一、问题背景 在开发某个公共应用时&#xff0c;笔者发现该公共应用的数据是所有测试环境&#xff08;假设存在 dev/dev2/dev3&#xff09;通用的。 这就意味着只需部署一个应用&#xff0c;就能满足所有测试环境的需求&#xff1b;也意味着所有测试环境都需要调用该公共应用…

匆匆遭遇猿如意

刚刚收到一条消息&#xff0c;说有一个csdn的猿如意可以测试了&#xff0c;我就下载了一个&#xff0c;根据提示下载了&#xff0c;然后开始体验。 一、ChatGPT 谁让这个东西最近这么热呢&#xff0c;所以&#xff0c;我第一个就体验这个东东了&#xff0c;结果&#xff0c;结…

excel多条件预算:规划求解工具计算多产品最佳效益组合

江南皮革厂生产三种产品&#xff0c;皮鞋、皮手套、皮帽。三种产品需要原材料甲、乙、丙。近期&#xff0c;原材料供应有限制&#xff0c;生产工时也有限制。已知产品单件的用时、用料、利润&#xff0c;求如何组合产品利润最大。 一、加载规划求解工具 规划求解工具位于“数据…

CN域名隐私保护内测收费

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 据站长DNS Admin爆料&#xff0c;CNNIC向西部数码发布通知称&#xff0c;内测的CN域名WHOIS隐私保护服务即将暂停免费政策&#xff0c;继续使用将收取相应服务费用&#xff0c;价格为48元/个/年。 …

电脑重装系统后会闪屏是什么原因

​电脑的显示屏是我们日常使用电脑最常使用的硬件之一&#xff0c;可以说使用电脑必备的就是显示屏了。而显示屏在使用的过程中也会出现各种各样的问题&#xff0c;最近就有不少用户反应自己的电脑出现了黑屏闪烁的问题。 软件原因&#xff1a; 一、检查显示刷新率设置是否正确…

RTMP推流方案总结

由于项目需要 RTMP 推送 H264 数据&#xff0c;在网上查找了下相关的方案&#xff0c;总结一下。 RTMP协议简介 在总结之前&#xff0c;我们先简单介绍一下 RTMP 协议。 RTMP(Real Time Messaging Protocol) 实时消息传送协议是 Adobe Systems 公司为 Flash 播放器和服务器之间…

外卖订餐系统的设计与实现/点餐订餐系统

摘 要 随着外卖订餐在高校越来越普及&#xff0c;传统的电话订餐给顾客跟商家带来不方便,如何使订餐更快速&#xff0c;更方便已成为众多高校学生关注的问题了。本外卖订餐系统是针对高校商家进行具体的需求分析&#xff0c;采用JSP技术和采用SSM框架&#xff0c;MYSQL数据库…

QT制作窗口切换的小程序

QT制作窗口切换的小程序 前言&#xff1a;本次实验是在三个窗口之间自由切换&#xff0c;窗口中播放gif格式的动态图。 让我们先来看看使用到的主要的函数&#xff1a; 一、播放gif格式动态图的函数 QMovie *movie new QMovie("../form/1.gif"); // "../f…

软件测试人到30岁+,在岗位上工作如何破局?

最近一个学生也可以说是朋友&#xff0c;他遇到了一个让他困扰的职场难题&#xff0c;背景如下&#xff1a; 1&#xff09;他们公司准备搞 安全测试 了&#xff0c;现在有人员培训的计划&#xff0c;所以全组有学习安全测试课程的安排。 2&#xff09;他自己目前专职性能测试…

12月17日第壹简报,星期六,农历十一月廿四

12月17日第壹简报&#xff0c;星期六&#xff0c;农历十一月廿四1. 数字人民币试点再扩容&#xff1a;粤苏冀川4省全覆盖&#xff0c;新增济南、南宁、昆明等5座城市。2. 人民币兑美元中间价调降448点至6.9791&#xff0c;降幅创5月27日以来最大。3. 政府出面站台、鼓励居民团购…

DropBox系列-安卓DropBox介绍

前言&#xff1a; 作者本人负责公司的APM监控模块&#xff0c;因为工作的原因&#xff0c;对ANR&#xff0c;crash等流程研究的比较多&#xff0c;最近在打造APM监控平台的时候&#xff0c;顺带对DropBox的实现原理进行了一定的学习和研究&#xff0c;发现了一些妙用&#xff…

Dubbo 1 分布式系统中的相关概念 1.3 架构演进

Dubbo 【黑马程序员Dubbo快速入门&#xff0c;Java分布式框架dubbo教程】 1 分布式系统中的相关概念 文章目录Dubbo1 分布式系统中的相关概念1.3 架构演进1.3.1 架构演进1.3.2 架构演进 - 单体架构1.3.3 架构演进 - 垂直架构1.3.4 架构演进 - 分布式架构1.3.5 架构演进 - SOA…

SPDK块设备

SPDK视角每个App由多个子系统(subsystem)构成&#xff0c;同时每个子系统又包含多个模块(module)&#xff0c;子系统和模块的注入都是可插拔的&#xff0c;通过相关的宏定义声明集成到SPDK组件容器里(其中子系统的注入可通过声明SPDK_SUBSYSTEM_REGISTER&#xff0c;块设备模块…

5G小基站行业市场空间将持续释放 2024年或将迎来建设高峰期

5G小基站行业上游包括硬件资源供应商、软件资源供应商、配套资源供应商&#xff1b;中游主体包括5G小基站设备厂商、5G小基站解决方案服务商&#xff1b;下游则主要是大型写字楼、购物中心、机场等。 数据来源&#xff1a;中国5G小基站市场发展趋势分析与未来前景研究报告&…

弥漫的烟圈-Abaqus涡环仿真与空气大炮

今天简单地讨论一下这个有趣的流体现象-烟圈&#xff0c;并使用Abaqus欧拉分析对它的形成过程进行仿真&#xff0c;揭示其中的力学奥秘。 烟圈 喷气圈的海豚 在流体力学里面&#xff0c;烟圈和水下气圈有个共同的名字&#xff0c;叫做Vortex Ring&#xff0c;即涡环或环形涡流…

腾讯云服务器选购新手教程(新版流程超级详细)

腾讯云服务器选购新手教程(新版流程超级详细)&#xff0c;来详细说下腾讯云服务器购买流程图文详解及购买渠道说明。 腾讯云服务器购买流程 购买腾讯云服务器很简单&#xff0c;首先你需要注册一个腾讯云账号&#xff0c;使用微信或QQ注册即可&#xff0c;很简单。账号注册后&…