基于javaweb的SpringBoot美食分享系统(java+springboot+vue+elementui+layui+mysql)

运行环境

Java≥8、MySQL≥5.7、Node.js≥14

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可

❗没学过node.js的不要搞前后端分离项目

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

001424080701

021424080701

031424080701

041424080701

581424070701

591424070701

基于javaweb的SpringBoot美食分享系统(java+springboot+vue+elementui+layui+mysql)

项目介绍

基于SpringBoot Vue的美食分享网站

角色:管理员、用户

用户:在网站首页可以查看首页,外国美食,中式美食,热门菜品,论坛,新闻资讯,留言板,个人中心,后台管理等内容

管理员:管理员登录系统后,可以对首页,个人中心,用户管理,外国美食管理,中式美食管理,热门菜品管理,论坛管理,我的收藏管理,留言板管理等进行相应的操作

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;  4.数据库:MySql 5.7/8.0版本均可; 5.是否Maven项目:是;

技术栈

后端:SpringBoot+Mybaits

前端:Vue+ElementUI+Layui+HTML+CSS+JS

使用说明

项目运行: 1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

文档介绍(课题背景与意义、系统实现功能、课题研究现状、系统相关技术、java技术、B/S架构、Mysql介绍、Mysql环境配置、Springboot框架、系统需求分析、系统功能、可行性研究、经济可行性、技术可行性、运行可行性、事件可行性、系统业务过程分析、系统业务过程分析、系统用例图、系统设计、数据库设计、系统整体设计、系统设计思想、系统流程图、系统详情设计、系统功能模块、系统功能模块、管理员功能模块):

美食首页展示:

美食详情展示: 

 外卖美食列表:

后台美食管理列表展示:

后台登录页面展示:

订单管理控制层: 

@Controller

public class orderController {

@Autowired

private OrderService orderService;

@RequestMapping(“/toOrder”)

public String toOrder(HttpServletRequest request,Model model) throws Exception {

Orders orders = new Orders();

Cart cart = (Cart) request.getSession().getAttribute(“cart”);

User loginUser = (User) request.getSession().getAttribute(“loginUser”);

if(loginUser==null){

model.addAttribute(“message”, “对不起您还没有登录”);

return “msg”;

// 0表示没有付款、1表示已付款即将发货 2表示确认收货 3表示交易成功

orders.setState(0);

orders.setOrderTime(new Date());

orders.setUid(loginUser.getUid());

orders.setMoney(cart.getTotale());

orderService.toOrder(orders);

Map<Integer, CartItem> cartItems = cart.getCartItem();

for (Entry<Integer, CartItem> entry : cartItems.entrySet()) {

CartItem cartItem = entry.getValue();

Orderitem orderitem = new Orderitem();

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”;

// 为定单付款

@RequestMapping(“/payOrder”)

public String payOrder(Orders orders,@RequestParam String receiveInfo,@RequestParam String phoNum,@RequestParam String accepter) throws Exception {

orders.setReceiveinfo(receiveInfo);

orders.setPhonum(phoNum);

orders.setAccepter(accepter);

orderService.payOrder(orders);

return “redirect:myOrder.action?page=1”;

//payOrderAganin

@RequestMapping(“/payOrderAganin”)

public String payOrderAganin(@RequestParam int oid,HttpServletRequest request){

Orders noPayOrder = orderService.findOrderByOid(oid);

request.getSession().setAttribute(“orders”, noPayOrder);

return “order”;

// 查询myOrder

@RequestMapping(“/myOrder”)

public String myOrder(@RequestParam int page, Model model,

HttpServletRequest request) throws Exception {

User loginUser = (User) request.getSession().getAttribute(“loginUser”);

PageBean pageBean = orderService.findOrderByUidAndPage(page,loginUser.getUid());

model.addAttribute(“pageBean”, pageBean);

return “orderList”;

// 确认收货

@RequestMapping(“/updateState”)

public String updateState(@RequestParam int oid ) throws Exception {

orderService.updateOrderStatus(oid, 3);

return “redirect:myOrder.action?page=1”;

 登录管理控制层:

@Controller

public class loginController {

@Autowired

private UserService userService;

@RequestMapping(“login”)

public String login() {

return “login”;

// 用户登录

@RequestMapping(“/userLogin”)

public String userLogin(HttpServletRequest request,

@RequestParam String checkImg, User user, Model model)

throws zdyException, Exception {

String sessionCode = (String) request.getSession().getAttribute(

“checkcode”);

if (!sessionCode.equalsIgnoreCase(checkImg)) {

//model.addAttribute(“message”, “验证码输入错误请重新注册”);

//throw new zdyException(“验证码输入错误请重新注册”);

request.getSession().setAttribute(“message”, “验证码输入错误请重新注册”);

return “redirect:login.action”;

User loginUser = userService.loginFindByUnameAndPwd(user.getUsername(),

user.getPassword());

if (loginUser == null) {

//model.addAttribute(“message”, “密码输入错误请重新登陆”);

request.getSession().setAttribute(“message”, “密码输入错误请重新登陆”);

//throw new zdyException(“密码输入错误请重新登陆”);

return “redirect:login.action”;

request.getSession().setAttribute(“loginUser”, loginUser);

request.getSession().removeAttribute(“message”);

return “redirect:index.action”;

// 用户退出

@RequestMapping(“userLogout”)

public String userLogout(HttpServletRequest request,

HttpServletResponse response, Model model) {

request.getSession().removeAttribute(“loginUser”);

response.setHeader(“content-type”, “text/html;charset=UTF-8”);

response.setHeader(“refresh”, “5;url=/shop/index.action”);

model.addAttribute(“message”, “退出成功,系统将在5秒之后跳转到首页……”);

return “msg”;

//进入管理员页面

@RequestMapping(“/admin”)

public String AdminIndex(){

return “admin/index”;

//admin/adminUser_login.action

//adminUser_login管理员登录

@RequestMapping(“/admin/adminUser_login”)

public String adminUser_login(HttpServletRequest request,Model model,@RequestParam String username,@RequestParam String password) throws Exception{

Adminuser adminuserLogin = 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”;

 后台管理控制层:

@Controller

public class AdminController {

@Autowired

private UserService userService;

@Autowired

public CategoryService categoryService;

@Autowired

public CategorySecondService categorySecondService;

@Autowired

public ProductService productService;

@Autowired

private OrderService orderService;

@Autowired

private MessageService messageService;

@RequestMapping(“/admin/admin_findAll”)

public String admin_findAll(Model model, HttpServletRequest request) throws Exception {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

List userList = userService.admin_findAll();

model.addAttribute(“userList”, userList);

return “admin/user/list”;

@RequestMapping(“/admin/adminCategory_findAll”)

public String adminCategory_findAll(Model model, HttpServletRequest request)

throws Exception {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

List categoryList = categoryService.adminbFindCategory();

/*for (Category category : categoryList) {

System.out.println(category.getCname());

}*/

model.addAttribute(“categoryList”, categoryList);

return “admin/category/list”;

@RequestMapping(“/admin/adminCategory_add”)

public String adminCategory_add(Model model,HttpServletRequest request) throws Exception {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

// List categoryList = categoryService.adminbFindCategory();

// model.addAttribute(“categoryList”, categoryList);

return “admin/category/add”;

@RequestMapping(“/admin/adminCategory_save”)

public String adminCategory_save(@RequestParam String cname,HttpServletRequest request)

throws Exception {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

Category addCategory = new Category();

addCategory.setCname(cname);

categoryService.addCategory(addCategory);

return “redirect:/admin/adminCategory_findAll.action”;

@RequestMapping(“/admin/adminCategory_edit”)

public String adminCategory_delete(@RequestParam int cid, Model model,HttpServletRequest request)

throws Exception {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

Category existCategory = categoryService.findCategory(cid);

model.addAttribute(“existCategory”, existCategory);

return “admin/category/edit”;

@RequestMapping(“/admin/adminCategory_update”)

public String adminCategory_update(@RequestParam int cid,

@RequestParam String cname,HttpServletRequest request) {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

Category category = new Category();

category.setCid(cid);

category.setCname(cname);

categoryService.adminCategory_update(category);

return “redirect:/admin/adminCategory_findAll.action”;

@RequestMapping(“/admin/adminCategory_delete”)

public String adminCategory_delete(@RequestParam int cid,HttpServletRequest request) throws Exception {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

categorySecondService.adminCategorySecond_deleteByCid(cid);

categoryService.deleteCategoryByCid(cid);

return “redirect:/admin/adminCategory_findAll.action”;

// admin 的二级分类的管理

@RequestMapping(“/admin/adminCategorySecond_findAllByPage”)

public String adminCategorySecond_findAllByPage(@RequestParam int page,Model model,HttpServletRequest request) {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

PageBean csPageBean = categorySecondService

.adminCategorySecond_findAllByPage(page);

/*List list = csPageBean.getList();

for (Categorysecond categorysecond : list) {

System.out.println(categorysecond.getCsname());

}*/

model.addAttribute(“csPageBean”, csPageBean);

return “admin/categorysecond/list”;

@RequestMapping(“admin/adminCategorySecond_addPage”)

public String adminCategorySecond_addPage(Model model,HttpServletRequest request) throws Exception{

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

List categoryList = categoryService.adminbFindCategory();

model.addAttribute(“categoryList”, categoryList);

return “admin/categorysecond/add”;

@RequestMapping(“admin/adminCategorySecond_save”)

public String adminCategorySecond_save(@RequestParam String csname,@RequestParam int cid,HttpServletRequest request) throws Exception{

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

Categorysecond categorysecond = new Categorysecond();

categorysecond.setCsname(csname);

categorysecond.setCid(cid);

categorySecondService.adminCategorySecond_save(categorysecond);

return “redirect:/admin/adminCategorySecond_findAllByPage.action?page=1”;

@RequestMapping(“admin/adminCategorySecond_edit”)

public String adminCategorySecond_edit(@RequestParam int csid,Model model,HttpServletRequest request) throws Exception{

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

Categorysecond findByCsid = categorySecondService.findByCsid(csid);

model.addAttribute(“findByCsid”, findByCsid);

return “admin/categorysecond/edit”;

@RequestMapping(“admin/adminCategorySecond_update”)

public String adminCategorySecond_update(@RequestParam String csname,@RequestParam int csid,HttpServletRequest request){

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

Categorysecond categorysecond = new Categorysecond();

categorysecond.setCsname(csname);

categorysecond.setCsid(csid);

categorySecondService.adminCategorySecond_update(categorysecond);

return “redirect:/admin/adminCategorySecond_findAllByPage.action?page=1”;

@RequestMapping(“admin/adminCategorySecond_delete”)

public String adminCategorySecond_delete(@RequestParam int csid,HttpServletRequest request) throws Exception{

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

categorySecondService.adminCategorySecond_delete(csid);

return “redirect:/admin/adminCategorySecond_findAllByPage.action?page=1”;

//admin的商品管理

@RequestMapping(“/admin/adminProduct_findAllByPage”)

public String adminProduct_findAllByPage(@RequestParam int page, Model model,HttpServletRequest request)

throws Exception {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

PageBean allProPageBean = productService.findAllProduct(page);

model.addAttribute(“allProPageBean”, allProPageBean);

return “admin/product/list”;

@RequestMapping(“/admin/adminProduct_addPage”)

public String adminProduct_addPage(Model model,HttpServletRequest request) throws Exception {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

//查询出所有的二级分类

List cslist = categorySecondService.findAll();

/*for (Categorysecond categorysecond : cslist) {

System.out.println(categorysecond.getCsname());

}*/

model.addAttribute(“cslist”, cslist);

return “admin/product/add”;

@RequestMapping(“/admin/adminProduct_save”)

public String adminProduct_save(Product product,HttpServletRequest request,MultipartFile file) throws Exception {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

product.setPdate(new Date());

// 上传图片

if (file != null) {

String path = request.getServletContext().getRealPath(

“/products”);

String uploadFileName = file.getOriginalFilename();

String fileName = UUIDUtiils.getUUID()+uploadFileName;

File diskFile = new File(path + “//“ + fileName);

file.transferTo(diskFile);

product.setImage(“products/“ + fileName);

System.out.println(product.getImage());

productService.adminProduct_save(product);

return “redirect:/admin/adminProduct_findAllByPage.action?page=1”;

@RequestMapping(“admin/adminProduct_deletecs”)

public String adminProduct_deletecs(@RequestParam int pid,HttpServletRequest request) throws Exception{

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

productService.adminProduct_deletecs(pid);

return “redirect:/admin/adminProduct_findAllByPage.action?page=1”;

/**

  • 编辑商品

  • @param pid

  • @param model

  • @param request

  • @return

  • @throws Exception

*/

@RequestMapping(“admin/adminProduct_edit”)

public String adminProduct_edit(@RequestParam int pid,Model model,HttpServletRequest request) throws Exception{

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

Product product = productService.finbProductByPid(pid);

model.addAttribute(“findByPid”, product);

//查询出所有的二级分类

List cslist = categorySecondService.findAll();

model.addAttribute(“cslist”, cslist);

return “admin/product/edit”;

@RequestMapping(“/admin/adminProduct_update”)

public String adminProduct_update(Product product,HttpServletRequest request,MultipartFile file) throws Exception {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

product.setPdate(new Date());

// 上传图片

if (file != null) {

String path = request.getServletContext().getRealPath(

“/products”);

String uploadFileName = file.getOriginalFilename();

String fileName = UUIDUtiils.getUUID()+uploadFileName;

File diskFile = new File(path + “//“ + fileName);

file.transferTo(diskFile);

product.setImage(“products/“ + fileName);

productService.adminProduct_update(product);

return “redirect:/admin/adminProduct_findAllByPage.action?page=1”;

/** 订单管理模块 **/

@RequestMapping(“/admin/adminOrder_findAllByPage”)

public String adminOrder_findAllByPage(@RequestParam int page, Model model,HttpServletRequest request)

throws Exception {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

PageBean allProPageBean = orderService.findAllOrderByStateAndPage(page);

model.addAttribute(“pageBean”, allProPageBean);

return “admin/order/list”;

//adminOrder_findByState

@RequestMapping(“/admin/adminOrder_findByState”)

public String adminOrder_findByState(@RequestParam int page,@RequestParam int state, Model model,HttpServletRequest request)

throws Exception {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

PageBean allProPageBean = orderService.findAllOrderByStateAndPage(state,page);

model.addAttribute(“pageBean”, allProPageBean);

return “admin/order/list”;

//订单详情

//adminOrder_findOrderItem

@RequestMapping(“/admin/adminOrder_findOrderItem”)

public String adminOrder_findOrderItem(@RequestParam int oid, Model model,HttpServletRequest request)

throws Exception {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

Orders orderItems = orderService.findOrderByOid(oid);

model.addAttribute(“orderItems”, orderItems);

return “admin/order/list”;

//更新订单状态

@RequestMapping(“/admin/adminOrder_updateState”)

public String adminOrder_updateState(@RequestParam int oid, @RequestParam int status, Model model,HttpServletRequest request)

throws Exception {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

orderService.updateOrderStatus(oid, status);

return “redirect:/admin/adminOrder_findAllByPage.action?page=1”;

//后台留言管理

@RequestMapping(“/admin/adminMessage_findAllByPage”)

public String adminMessage_findAllByPage(@RequestParam int page, Model model,HttpServletRequest request)

throws Exception {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

PageBean pageBean = messageService.findAllMessageByPage(page);

model.addAttribute(“pageBean”, pageBean);

return “admin/message/list”;

@RequestMapping(“/admin/adminMessage_delete”)

public String adminOrder_updateState(@RequestParam int messageid, Model model,HttpServletRequest request)

throws Exception {

Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute(“adminuserLogin”);

if(adminuserLogin==null){

request.getSession().setAttribute(“message”,”对不起您还没有登录”);

return “admin/index”;

messageService.deleteMessage(messageid);

return “redirect:/admin/adminMessage_findAllByPage.action?page=1”;

 品类管理控制层:

@Controller

public class CategorySecondController {

@Autowired

private ProductService productService;

//根据一级目录查找二级目录下面的商品(使用延迟加载但是这里不知为啥使用起来出错了)

@RequestMapping(“/findCategorySecond”)

public String findCategorySecond(HttpServletRequest request,@RequestParam int cid,Model model,@RequestParam int page) throws Exception {

request.getSession().setAttribute(“cid”,cid);

PageBean proPageBean = productService.findProductyBycid(cid,page);

model.addAttribute(“pageBean”,proPageBean);

return “category”;

// 根据csid来分页查询商品

@RequestMapping(“/findCategorySecond1”)

public String findCategorySecond1(@RequestParam int csid,Model model,@RequestParam int page){

PageBean proPageBean = productService.finbProductByCsid(csid,page);

model.addAttribute(“pageBean”,proPageBean);

return “category”;


项目链接:
https://javayms.github.io?id=181524190701201kb
https://javayms.pages.dev?id=181524190701201kb