美食推荐系统 (协同过滤 + 内容过滤(余弦函数))(SSM,MySQL)(毕业论文15581字以上,共39页,程序代码,MySQL数据库)
【运行环境】 IDEA, Eclipse JDK1.7(JDK1.8) Tomcat7(Tomcat8)
【技术栈】 JAVA, JSP, SSM, JQUERY, MYSQL, HTML, CSS, JAVASCRIPT, H-UI
链接:https://pan.baidu.com/s/1jvZc0i_jJc1uXjSLOcaGXg
提取码:8888
--来自百度网盘超级会员V7的分享
【视频教程】
【项目包含内容】
【文档包含内容】
【项目功能介绍】
本系统由两个大模块组成:前台用户界面和后台管理员界面。前台用户界面主要是分为:查看部分美食,查看美食详细信息,查看更多美食,加入用户收藏,确认订购信息,修改用户收藏,部分删除用户收藏信息,清空用户收藏和提交用户评价等购物网站常见功能。后台主要是管理员对网站信息的添加,更新、删除和查询。分为:用户管理、美食分类管理、美食信息管理以及用户评价管理。用户管理包括用户信息查询和删除。美食管理包括美食录入,涉及图片传送功能。用户评价管理包括查询和删除用户评价。美食分类管理包括查询美食分类。添加用户身份的验证,美食限定购买数量验证等功能加强了各种信息的安全性。
ComplainController.java
package com.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.entity.Complains;
import com.service.ComplainsService;
import com.entity.Users;
import com.service.UsersService;
import com.util.PageHelper;
import com.util.VeDate;
//定义为控制器
@Controller
// 设置路径
@RequestMapping(value = "/complains" , produces = "text/plain;charset=utf-8")
public class ComplainsController extends BaseController {
// @Autowired的作用是自动注入依赖的ServiceBean
@Autowired
private ComplainsService complainsService;
@Autowired
private UsersService usersService;
// 准备添加数据
@RequestMapping("createComplains.action")
public String createComplains() {
List<Users> usersList = this.usersService.getAllUsers();
this.getRequest().setAttribute("usersList", usersList);
return "admin/addcomplains";
}
// 添加数据
@RequestMapping("addComplains.action")
public String addComplains(Complains complains) {
complains.setUsersid("");
complains.setTitle("");
complains.setAddtime(VeDate.getStringDateShort());
complains.setStatus("");
this.complainsService.insertComplains(complains);
return "redirect:/complains/createComplains.action";
}
// 通过主键删除数据
@RequestMapping("deleteComplains.action")
public String deleteComplains(String id) {
this.complainsService.deleteComplains(id);
return "redirect:/complains/getAllComplains.action";
}
// 批量删除数据
@RequestMapping("deleteComplainsByIds.action")
public String deleteComplainsByIds() {
String[] ids = this.getRequest().getParameterValues("complainsid");
if (ids != null) {
for (String complainsid : ids) {
this.complainsService.deleteComplains(complainsid);
}
}
return "redirect:/complains/getAllComplains.action";
}
// 更新数据
@RequestMapping("updateComplains.action")
public String updateComplains(Complains complains) {
this.complainsService.updateComplains(complains);
return "redirect:/complains/getAllComplains.action";
}
// 更新状态
@RequestMapping("status.action")
public String status(String id) {
String status = "";
Complains complains = this.complainsService.getComplainsById(id);
if (status.equals(complains.getStatus())) {
status = "";
}
complains.setStatus(status);
this.complainsService.updateComplains(complains);
return "redirect:/complains/getAllComplains.action";
}
// 显示全部数据
@RequestMapping("getAllComplains.action")
public String getAllComplains(String number) {
List<Complains> complainsList = this.complainsService.getAllComplains();
PageHelper.getPage(complainsList, "complains", null, null, 10, number, this.getRequest(), null);
return "admin/listcomplains";
}
// 按条件查询数据 (模糊查询)
@RequestMapping("queryComplainsByCond.action")
public String queryComplainsByCond(String cond, String name, String number) {
Complains complains = new Complains();
if(cond != null){
if ("usersid".equals(cond)) {
complains.setUsersid(name);
}
if ("title".equals(cond)) {
complains.setTitle(name);
}
if ("contents".equals(cond)) {
complains.setContents(name);
}
if ("addtime".equals(cond)) {
complains.setAddtime(name);
}
if ("status".equals(cond)) {
complains.setStatus(name);
}
if ("reps".equals(cond)) {
complains.setReps(name);
}
}
List<String> nameList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.complainsService.getComplainsByLike(complains), "complains", nameList, valueList, 10, number, this.getRequest(), "query");
name = null;
cond = null;
return "admin/querycomplains";
}
// 按主键查询数据
@RequestMapping("getComplainsById.action")
public String getComplainsById(String id) {
Complains complains = this.complainsService.getComplainsById(id);
this.getRequest().setAttribute("complains", complains);
List<Users> usersList = this.usersService.getAllUsers();
this.getRequest().setAttribute("usersList", usersList);
return "admin/editcomplains";
}
}
FoodsController.java
package com.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.entity.Foods;
import com.service.FoodsService;
import com.entity.Cate;
import com.service.CateService;
import com.util.PageHelper;
import com.util.VeDate;
//定义为控制器
@Controller
// 设置路径
@RequestMapping(value = "/foods" , produces = "text/plain;charset=utf-8")
public class FoodsController extends BaseController {
// @Autowired的作用是自动注入依赖的ServiceBean
@Autowired
private FoodsService foodsService;
@Autowired
private CateService cateService;
// 准备添加数据
@RequestMapping("createFoods.action")
public String createFoods() {
List<Cate> cateList = this.cateService.getAllCate();
this.getRequest().setAttribute("cateList", cateList);
return "admin/addfoods";
}
// 添加数据
@RequestMapping("addFoods.action")
public String addFoods(Foods foods) {
foods.setAddtime(VeDate.getStringDateShort());
foods.setHits("0");
foods.setSellnum("0");
this.foodsService.insertFoods(foods);
return "redirect:/foods/createFoods.action";
}
// 通过主键删除数据
@RequestMapping("deleteFoods.action")
public String deleteFoods(String id) {
this.foodsService.deleteFoods(id);
return "redirect:/foods/getAllFoods.action";
}
// 批量删除数据
@RequestMapping("deleteFoodsByIds.action")
public String deleteFoodsByIds() {
String[] ids = this.getRequest().getParameterValues("foodsid");
if (ids != null) {
for (String foodsid : ids) {
this.foodsService.deleteFoods(foodsid);
}
}
return "redirect:/foods/getAllFoods.action";
}
// 更新数据
@RequestMapping("updateFoods.action")
public String updateFoods(Foods foods) {
this.foodsService.updateFoods(foods);
return "redirect:/foods/getAllFoods.action";
}
// 显示全部数据
@RequestMapping("getAllFoods.action")
public String getAllFoods(String number) {
List<Foods> foodsList = this.foodsService.getAllFoods();
PageHelper.getPage(foodsList, "foods", null, null, 10, number, this.getRequest(), null);
return "admin/listfoods";
}
// 按条件查询数据 (模糊查询)
@RequestMapping("queryFoodsByCond.action")
public String queryFoodsByCond(String cond, String name, String number) {
Foods foods = new Foods();
if(cond != null){
if ("foodsname".equals(cond)) {
foods.setFoodsname(name);
}
if ("cateid".equals(cond)) {
foods.setCateid(name);
}
if ("image".equals(cond)) {
foods.setImage(name);
}
if ("price".equals(cond)) {
foods.setPrice(name);
}
if ("recommend".equals(cond)) {
foods.setRecommend(name);
}
if ("special".equals(cond)) {
foods.setSpecial(name);
}
if ("addtime".equals(cond)) {
foods.setAddtime(name);
}
if ("hits".equals(cond)) {
foods.setHits(name);
}
if ("sellnum".equals(cond)) {
foods.setSellnum(name);
}
if ("contents".equals(cond)) {
foods.setContents(name);
}
}
List<String> nameList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.foodsService.getFoodsByLike(foods), "foods", nameList, valueList, 10, number, this.getRequest(), "query");
name = null;
cond = null;
return "admin/queryfoods";
}
// 按主键查询数据
@RequestMapping("getFoodsById.action")
public String getFoodsById(String id) {
Foods foods = this.foodsService.getFoodsById(id);
this.getRequest().setAttribute("foods", foods);
List<Cate> cateList = this.cateService.getAllCate();
this.getRequest().setAttribute("cateList", cateList);
return "admin/editfoods";
}
}
OrderController.java
package com.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.entity.Orders;
import com.service.OrdersService;
import com.entity.Users;
import com.service.UsersService;
import com.util.PageHelper;
//定义为控制器
@Controller
// 设置路径
@RequestMapping(value = "/orders", produces = "text/plain;charset=utf-8")
public class OrdersController extends BaseController {
// @Autowired的作用是自动注入依赖的ServiceBean
@Autowired
private OrdersService ordersService;
@Autowired
private UsersService usersService;
// 准备添加数据
@RequestMapping("createOrders.action")
public String createOrders() {
List<Users> usersList = this.usersService.getAllUsers();
this.getRequest().setAttribute("usersList", usersList);
return "admin/addorders";
}
// 添加数据
@RequestMapping("addOrders.action")
public String addOrders(Orders orders) {
this.ordersService.insertOrders(orders);
return "redirect:/orders/createOrders.action";
}
// 通过主键删除数据
@RequestMapping("deleteOrders.action")
public String deleteOrders(String id) {
this.ordersService.deleteOrders(id);
return "redirect:/orders/getAllOrders.action";
}
// 批量删除数据
@RequestMapping("deleteOrdersByIds.action")
public String deleteOrdersByIds() {
String[] ids = this.getRequest().getParameterValues("ordersid");
if (ids != null) {
for (String ordersid : ids) {
this.ordersService.deleteOrders(ordersid);
}
}
return "redirect:/orders/getAllOrders.action";
}
// 更新数据
@RequestMapping("updateOrders.action")
public String updateOrders(Orders orders) {
this.ordersService.updateOrders(orders);
return "redirect:/orders/getAllOrders.action";
}
// 更新状态
@RequestMapping("status.action")
public String status(String id) {
String status = "已发货";
Orders orders = this.ordersService.getOrdersById(id);
orders.setStatus(status);
this.ordersService.updateOrders(orders);
return "redirect:/orders/getAllOrders.action";
}
// 显示全部数据
@RequestMapping("getAllOrders.action")
public String getAllOrders(String number) {
List<Orders> ordersList = this.ordersService.getAllOrders();
PageHelper.getPage(ordersList, "orders", null, null, 10, number, this.getRequest(), null);
return "admin/listorders";
}
// 按条件查询数据 (模糊查询)
@RequestMapping("queryOrdersByCond.action")
public String queryOrdersByCond(String cond, String name, String number) {
Orders orders = new Orders();
if (cond != null) {
if ("ordercode".equals(cond)) {
orders.setOrdercode(name);
}
if ("usersid".equals(cond)) {
orders.setUsersid(name);
}
if ("total".equals(cond)) {
orders.setTotal(name);
}
if ("addtime".equals(cond)) {
orders.setAddtime(name);
}
if ("status".equals(cond)) {
orders.setStatus(name);
}
if ("receiver".equals(cond)) {
orders.setReceiver(name);
}
if ("address".equals(cond)) {
orders.setAddress(name);
}
if ("contact".equals(cond)) {
orders.setContact(name);
}
}
List<String> nameList = new ArrayList<String>();
List<String> valueList = new ArrayList<String>();
nameList.add(cond);
valueList.add(name);
PageHelper.getPage(this.ordersService.getOrdersByLike(orders), "orders", nameList, valueList, 10, number, this.getRequest(), "query");
name = null;
cond = null;
return "admin/queryorders";
}
// 按主键查询数据
@RequestMapping("getOrdersById.action")
public String getOrdersById(String id) {
Orders orders = this.ordersService.getOrdersById(id);
this.getRequest().setAttribute("orders", orders);
List<Users> usersList = this.usersService.getAllUsers();
this.getRequest().setAttribute("usersList", usersList);
return "admin/editorders";
}
}
【项目代码截图】
【数据库截图】
【文档部分截图】
【数据库截图】
【项目运行截图】