基于javaweb的零食商城系统(java+ssm+jsp+mysql+easyui)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

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

功能说明

基于javaweb+jsp的零食商城系统(java+SSM+jsp+MySQL+EasyUI)

系统主要实现的功能有:用户浏览商品、加入商品到购物车、登录注册、提交订单,会员中心修改个人信息、查看订单等。

后台管理员登录后可以分角色添加管理员,不同角色有不同权限,可以管理用户信息、商品信息、订单信息,订单信息可以导出到excel。其中支付是模拟在线支付,从账户余额中扣费的,用户注册后自动设置余额为指定值。

后台相关接口:

/**

  • 后台相关接口

*/

@Controller

@RequestMapping(“/admin”)

public class AdminController {

private static final int rows = 10;

@Autowired

private AdminService adminService;

@Autowired

private OrderService orderService;

@Autowired

private UserService userService;

@Autowired

private GoodService goodService;

@Autowired

private TopService topService;

@Autowired

private TypeService typeService;

@Autowired

private SkuService skuService;

/**

  • 管理员登录

  • @return

*/

@GetMapping(“/login”)

public String log() {

return “/admin/login.jsp”;

/**

  • 管理员登录

  • @return

*/

@PostMapping(“/login”)

public String login(Admins admin, HttpServletRequest request, HttpSession session) {

if (adminService.checkUser(admin.getUsername(), admin.getPassword())) {

session.setAttribute(“username”, admin.getUsername());

return “redirect:typeList”;

request.setAttribute(“msg”, “用户名或密码错误!”);

return “/admin/login.jsp”;

/**

  • 退出

  • @return

*/

@RequestMapping(“/logout”)

public String logout(HttpSession session) {

session.removeAttribute(“admin”);

return “/admin/login.jsp”;

/**

  • 后台首页

  • @return

*/

@RequestMapping(“/index”)

public String index(HttpServletRequest request) {

request.setAttribute(“msg”, “恭喜你! 登录成功了”);

return “/admin/index.jsp”;

/**

  • 类目列表

  • @return

*/

@RequestMapping(“/typeList”)

public String typeList(HttpServletRequest request) {

request.setAttribute(“flag”, 1);

request.setAttribute(“typeList”, typeService.getList());

return “/admin/type_list.jsp”;

/**

  • 类目添加

  • @return

*/

@RequestMapping(“/typeAdd”)

public String typeAdd(HttpServletRequest request) {

request.setAttribute(“flag”, 1);

return “/admin/type_add.jsp”;

/**

  • 类目添加

  • @return

  • @throws Exception

*/

@RequestMapping(“/typeSave”)

public String typeSave(Types type, MultipartFile file,

@RequestParam(required=false, defaultValue=“1”) int page) throws Exception {

type.setCover(UploadUtil.upload(file));

typeService.add(type);

return “redirect:typeList?flag=1&page=”+page;

/**

  • 类目更新

  • @return

*/

@RequestMapping(“/typeEdit”)

public String typeEdit(int id, HttpServletRequest request) {

request.setAttribute(“flag”, 1);

request.setAttribute(“type”, typeService.get(id));

return “/admin/type_edit.jsp”;

/**

  • 类目更新

  • @return

  • @throws Exception

*/

@RequestMapping(“/typeUpdate”)

public String typeUpdate(Types type, MultipartFile file,

@RequestParam(required=false, defaultValue=“1”) int page) throws Exception {

if (Objects.nonNull(file) && !file.isEmpty()) {

type.setCover(UploadUtil.upload(file));

typeService.update(type);

return “redirect:typeList?flag=1&page=”+page;

/**

  • 类目删除

  • @return

*/

@RequestMapping(“/typeDelete”)

public String typeDelete(Types type,

@RequestParam(required=false, defaultValue=“1”) int page) {

typeService.delete(type);

return “redirect:typeList?flag=1&page=”+page;

/**

  • sku列表

  • @return

*/

@RequestMapping(“/skuList”)

public String skuList(@RequestParam(required=false, defaultValue=“0”)byte status, HttpServletRequest request) {

request.setAttribute(“flag”, 2);

request.setAttribute(“status”, status);

request.setAttribute(“skuList”, status>0 ? skuService.getSizeList() : skuService.getColorList());

return “/admin/sku_list.jsp”;

/**

  • sku添加

  • @return

*/

@RequestMapping(“/skuSave”)

public String skuSave(String name, int status) {

if(status > 0) {

skuService.addSize(name);

}else {

skuService.addColor(name);

return “redirect:skuList?status=”+status;

/**

  • sku删除

  • @return

*/

@RequestMapping(“/skuDelete”)

public String skuDelete(int id, int status) {

if(status > 0) {

skuService.deleteSize(id);

}else {

skuService.deleteColor(id);

return “redirect:skuList?status=”+status;

/**

  • 产品列表

  • @return

*/

@RequestMapping(“/goodList”)

public String goodList(@RequestParam(required=false, defaultValue=“0”)byte status, HttpServletRequest request,

@RequestParam(required=false, defaultValue=“1”) int page) {

request.setAttribute(“flag”, 3);

request.setAttribute(“page”, page);

request.setAttribute(“status”, status);

request.setAttribute(“goodList”, goodService.getList(status, page, rows));

request.setAttribute(“pageTool”, PageUtil.getPageTool(request, goodService.getTotal(status), page, rows));

return “/admin/good_list.jsp”;

/**

  • 产品添加

  • @return

*/

@RequestMapping(“/goodAdd”)

public String goodAdd(HttpServletRequest request) {

request.setAttribute(“flag”, 3);

request.setAttribute(“typeList”, typeService.getList());

request.setAttribute(“colorList”, skuService.getColorList());

request.setAttribute(“sizeList”, skuService.getSizeList());

return “/admin/good_add.jsp”;

/**

  • 产品添加

  • @return

  • @throws Exception

*/

@RequestMapping(“/goodSave”)

public String goodSave(Goods good, MultipartFile file,

@RequestParam(required=false, defaultValue=“1”) int page) throws Exception {

good.setCover(UploadUtil.upload(file));

goodService.add(good);

return “redirect:goodList?flag=3&page=”+page;

/**

  • 产品更新

  • @return

*/

@RequestMapping(“/goodEdit”)

public String goodEdit(int id, HttpServletRequest request) {

request.setAttribute(“flag”, 3);

request.setAttribute(“typeList”, typeService.getList());

request.setAttribute(“colorList”, skuService.getColorList());

request.setAttribute(“sizeList”, skuService.getSizeList());

request.setAttribute(“good”, goodService.get(id));

return “/admin/good_edit.jsp”;

/**

  • 产品更新

  • @return

  • @throws Exception

*/

@RequestMapping(“/goodUpdate”)

public String goodUpdate(Goods good, MultipartFile file,

@RequestParam(required=false, defaultValue=“1”) int page) throws Exception {

if (Objects.nonNull(file) && !file.isEmpty()) {

good.setCover(UploadUtil.upload(file));

goodService.update(good);

return “redirect:goodList?flag=3&page=”+page;

/**

  • 产品删除

  • @return

*/

@RequestMapping(“/goodDelete”)

public String goodDelete(int id,

@RequestParam(required=false, defaultValue=“1”) int page) {

goodService.delete(id);

return “redirect:goodList?flag=3&page=”+page;

/**

  • 添加推荐

  • @return

*/

@RequestMapping(“/topSave”)

public @ResponseBody String topSave(Tops tops,

@RequestParam(required=false, defaultValue=“0”)byte status,

@RequestParam(required=false, defaultValue=“1”) int page) {

int id = topService.add(tops);

return id > 0 ? “ok” : null;

/**

  • 删除推荐

  • @return

*/

@RequestMapping(“/topDelete”)

public @ResponseBody String topDelete(Tops tops,

@RequestParam(required=false, defaultValue=“0”)byte status,

@RequestParam(required=false, defaultValue=“1”) int page) {

boolean flag = topService.delete(tops);

return flag ? “ok” : null;

/**

  • 订单列表

  • @return

*/

@RequestMapping(“/orderList”)

public String orderList(@RequestParam(required=false, defaultValue=“0”)byte status, HttpServletRequest request,

@RequestParam(required=false, defaultValue=“1”) int page) {

request.setAttribute(“flag”, 4);

request.setAttribute(“status”, status);

request.setAttribute(“orderList”, orderService.getList(status, page, rows));

request.setAttribute(“pageTool”, PageUtil.getPageTool(request, orderService.getTotal(status), page, rows));

return “/admin/order_list.jsp”;

/**

  • 订单发货

  • @return

*/

@RequestMapping(“/orderDispose”)

public String orderDispose(int id, byte status,

@RequestParam(required=false, defaultValue=“1”) int page) {

orderService.dispose(id);

return “redirect:orderList?flag=4&status=”+status+“&page=”+page;

/**

  • 订单完成

  • @return

*/

@RequestMapping(“/orderFinish”)

public String orderFinish(int id, byte status,

@RequestParam(required=false, defaultValue=“1”) int page) {

orderService.finish(id);

return “redirect:orderList?flag=4&status=”+status+“&page=”+page;

/**

  • 订单删除

  • @return

*/

@RequestMapping(“/orderDelete”)

public String orderDelete(int id, byte status,

@RequestParam(required=false, defaultValue=“1”) int page) {

orderService.delete(id);

return “redirect:orderList?flag=4&status=”+status+“&page=”+page;

/**

  • 顾客管理

  • @return

*/

@RequestMapping(“/userList”)

public String userList(HttpServletRequest request,

@RequestParam(required=false, defaultValue=“1”) int page) {

request.setAttribute(“flag”, 5);

request.setAttribute(“userList”, userService.getList(page, rows));

request.setAttribute(“pageTool”, PageUtil.getPageTool(request, userService.getTotal(), page, rows));

return “/admin/user_list.jsp”;

/**

  • 顾客添加

  • @return

*/

@RequestMapping(“/userAdd”)

public String userAdd(HttpServletRequest request) {

request.setAttribute(“flag”, 5);

return “/admin/user_add.jsp”;

/**

  • 顾客添加

  • @return

*/

@RequestMapping(“/userSave”)

public String userSave(Users user, HttpServletRequest request,

@RequestParam(required=false, defaultValue=“1”) int page) {

if (userService.isExist(user.getUsername())) {

request.setAttribute(“msg”, “用户名已存在!”);

return “/admin/user_add.jsp”;

userService.add(user);

return “redirect:userList?flag=5&page=”+page;

/**

  • 顾客密码重置页面

  • @return

*/

@RequestMapping(“/userRe”)

public String userRe(int id, HttpServletRequest request) {

request.setAttribute(“flag”, 5);

request.setAttribute(“user”, userService.get(id));

return “/admin/user_reset.jsp”;

/**

  • 顾客密码重置

  • @return

*/

@RequestMapping(“/userReset”)

public String userReset(Users user,

@RequestParam(required=false, defaultValue=“1”) int page) {

String password = SafeUtil.encode(user.getPassword());

user = userService.get(user.getId());

user.setPassword(password);

userService.update(user);

return “redirect:userList?page=”+page;

/**

  • 顾客更新

  • @return

*/

@RequestMapping(“/userEdit”)

public String userEdit(int id, HttpServletRequest request) {

request.setAttribute(“flag”, 5);

request.setAttribute(“user”, userService.get(id));

return “/admin/user_edit.jsp”;

/**

  • 顾客更新

  • @return

*/

@RequestMapping(“/userUpdate”)

public String userUpdate(Users user,

@RequestParam(required=false, defaultValue=“1”) int page) {

userService.update(user);

return “redirect:userList?flag=5&page=”+page;

/**

  • 顾客删除

  • @return

*/

@RequestMapping(“/userDelete”)

public String userDelete(Users user,

@RequestParam(required=false, defaultValue=“1”) int page) {

userService.delete(user);

return “redirect:userList?flag=5&page=”+page;

/**

  • 管理员列表

  • @return

*/

@RequestMapping(“/adminList”)

public String adminList(HttpServletRequest request,

@RequestParam(required=false, defaultValue=“1”) int page) {

request.setAttribute(“flag”, 6);

request.setAttribute(“adminList”, adminService.getList(page, rows));

request.setAttribute(“pageTool”, PageUtil.getPageTool(request, adminService.getTotal(), page, rows));

return “/admin/admin_list.jsp”;

/**

  • 管理员添加

  • @return

*/

@RequestMapping(“/adminAdd”)

public String adminAdd(HttpServletRequest request) {

request.setAttribute(“flag”, 6);

return “/admin/admin_add.jsp”;

/**

  • 管理员密码重置

  • @return

*/

@RequestMapping(“/adminRe”)

public String adminRe(int id, HttpServletRequest request) {

request.setAttribute(“flag”, 6);

request.setAttribute(“admin”, adminService.get(id));

return “/admin/admin_reset.jsp”;

/**

  • 管理员密码重置

  • @return

*/

@RequestMapping(“/adminReset”)

public String adminReset(Admins admin, HttpServletRequest request,

@RequestParam(required=false, defaultValue=“1”) int page) {

String password = SafeUtil.encode(admin.getPassword());

admin = adminService.get(admin.getId());

admin.setPassword(password);

adminService.update(admin);

return “redirect:adminList?page=”+page;

/**

  • 管理员添加

  • @return

*/

@RequestMapping(“/adminSave”)

public String adminSave(Admins admin, HttpServletRequest request,

@RequestParam(required=false, defaultValue=“1”) int page) {

if (adminService.isExist(admin.getUsername())) {

request.setAttribute(“msg”, “用户名已存在!”);

return “/admin/admin_add.jsp”;

adminService.add(admin);

return “redirect:adminList?flag=6&page=”+page;

/**

  • 管理员修改

  • @return

*/

@RequestMapping(“/adminEdit”)

public String adminEdit(int id, HttpServletRequest request) {

request.setAttribute(“flag”, 6);

request.setAttribute(“admin”, adminService.get(id));

return “/admin/admin_edit.jsp”;

/**

  • 管理员更新

  • @return

*/

@RequestMapping(“/adminUpdate”)

public String adminUpdate(Admins admin,

@RequestParam(required=false, defaultValue=“1”) int page) {

admin.setPassword(SafeUtil.encode(admin.getPassword()));

adminService.update(admin);

return “redirect:adminList?flag=6&page=”+page;

/**

  • 管理员删除

  • @return

*/

@RequestMapping(“/adminDelete”)

public String adminDelete(Admins admin,

@RequestParam(required=false, defaultValue=“1”) int page) {

adminService.delete(admin);

return “redirect:adminList?flag=6&page=”+page;

用户相关接口:

/**

  • 用户相关接口

*/

@Controller

@RequestMapping(“/index”)

public class UserController{

@Resource

private UserService userService;

@Resource

private OrderService orderService;

@Resource

private GoodService goodService;

@Resource

private TypeService typeService;

@Resource

private ShopcartService shopcartService;

@Resource

private SkuService skuService;

/**

  • 用户注册

  • @return

*/

@GetMapping(“/register”)

public String reg(Model model) {

model.addAttribute(“flag”, -1); // 注册页面

return “/index/register.jsp”;

/**

  • 用户注册

  • @return

*/

@PostMapping(“/register”)

public String register(Users user, Model model){

if (user.getUsername().isEmpty()) {

model.addAttribute(“msg”, “用户名不能为空!”);

return “/index/register.jsp”;

}else if (userService.isExist(user.getUsername())) {

model.addAttribute(“msg”, “用户名已存在!”);

return “/index/register.jsp”;

}else {

String password = user.getPassword();

userService.add(user);

user.setPassword(password);

return “/index/index”; // 注册成功后转去登录

/**

  • 用户登录

  • @return

*/

@GetMapping(“/login”)

public String log() {

return “/index/index”;

/**

  • 用户登录

  • @return

*/

@PostMapping(“/login”)

public String login(@RequestParam(required=false, defaultValue=“0”)int flag, Users user, HttpSession session, Model model) {

model.addAttribute(“typeList”, typeService.getList());

if(flag==-1) {

flag = 6; // 登录页面

return “/index/index”;

if(userService.checkUser(user.getUsername(), user.getPassword())){

Users loginUser = userService.get(user.getUsername());

session.setAttribute(“user”, loginUser);

// 还原购物车数量

session.setAttribute(“total”, shopcartService.getTotal(loginUser.getId()));

return “redirect:index”;

} else {

model.addAttribute(“msg”, “用户名或密码错误!”);

return “/index/index”;

/**

  • 注销登录

  • @return

*/

@RequestMapping(“/logout”)

public String logout(HttpSession session) {

session.removeAttribute(“user”);

session.removeAttribute(“order”);

return “/index/index”;

/**

  • 查看购物车

  • @return

*/

@RequestMapping(“/shopcart”)

public String shopcart(Model model, HttpSession session) {

Users user = (Users) session.getAttribute(“user”);

if (user == null) {

model.addAttribute(“msg”, “请先登录!”);

return “/index/index”;

model.addAttribute(“typeList”, typeService.getList());

model.addAttribute(“shopcartList”, shopcartService.getList(user.getId()));

model.addAttribute(“totalPrice”, shopcartService.getTotalPrice(user.getId()));

return “/index/shopcart.jsp”;

/**

  • 购买

  • @return

*/

@RequestMapping(“/buy”)

public @ResponseBody int buy(Shopcart shopcart, HttpSession session, Model model){

Users user = (Users) session.getAttribute(“user”);

if (user == null) {

return -111;

shopcart.setUserId(user.getId());

shopcart.setGood(goodService.get(shopcart.getGoodId()));

// 验证库存

// int stock = skuService.getStock(shopcart.getGoodId(), shopcart.getColorId(), shopcart.getSizeId());

// if(shopcart.getAmount() > stock) {

// model.addAttribute(“msg”, "商品 [ " + shopcart.getGood().getName() + " ] 库存不足! 当前库存只有: " + stock);

// }

return orderService.save(Arrays.asList(shopcart), user);

/**

  • 购买

  • @return

*/

@RequestMapping(“/cart”)

public @ResponseBody int cart(Shopcart shopcart, HttpSession session, Model model){

Users user = (Users) session.getAttribute(“user”);

if (user == null) {

return -111;

shopcart.setUserId(user.getId());

shopcartService.save(shopcart);

int total = shopcartService.getTotal(user.getId());

session.setAttribute(“total”, total);

return total;

/**

  • 添加

*/

@RequestMapping(“/add”)

public @ResponseBody boolean add(int skuid, HttpSession session){

Users user = (Users) session.getAttribute(“user”);

if (user == null) {

return false;

return shopcartService.add(skuid);

/**

  • 减少

*/

@RequestMapping(“/less”)

public @ResponseBody boolean less(int skuid, HttpSession session){

Users user = (Users) session.getAttribute(“user”);

if (user == null) {

return false;

return shopcartService.less(skuid);

/**

  • 删除

*/

@RequestMapping(“/delete”)

public @ResponseBody boolean delete(int skuid, HttpSession session){

Users user = (Users) session.getAttribute(“user”);

if (user == null) {

return false;

shopcartService.delete(skuid);

session.setAttribute(“total”, shopcartService.getTotal(user.getId()));

return true;

/**

  • 总金额

  • @return

*/

@RequestMapping(“/total”)

public @ResponseBody int total(HttpSession session){

Users user = (Users) session.getAttribute(“user”);

if (user == null) {

return -111;

return shopcartService.getTotalPrice(user.getId());

/**

  • 提交订单

  • @return

*/

@RequestMapping(“/save”)

public String save(ServletRequest request, HttpSession session, Model model){

Users user = (Users) session.getAttribute(“user”);

if (user == null) {

model.addAttribute(“msg”, “请先登录!”);

return “/index/index”;

List shopcartList = shopcartService.getList(user.getId());

if(Objects.isNull(shopcartList) || shopcartList.isEmpty()) {

model.addAttribute(“msg”, “购物车没有商品”);

return shopcart(model, session);

// 验证库存

for(Shopcart cart : shopcartList) {

int stock = skuService.getStock(cart.getGoodId(), cart.getColorId(), cart.getSizeId());

if(cart.getAmount() > stock) {

model.addAttribute(“msg”, "商品 [ " + cart.getGood().getName() + " ] 库存不足! 当前库存只有: " + stock);

return shopcart(model, session);

int orderid = orderService.save(shopcartList, user);

if(orderid > 0) {

// 清空购物车

session.setAttribute(“total”, shopcartService.getTotal(user.getId()));

// 跳转支付

return “redirect:topay?orderid=”+orderid;

model.addAttribute(“msg”, “出了点问题”);

return shopcart(model, session);

/**

  • 支付页面

  • @return

*/

@RequestMapping(“/topay”)

public String topay(int orderid, ServletRequest request, HttpSession session) {

Users user = (Users) session.getAttribute(“user”);

if (user == null) {

request.setAttribute(“msg”, “请先登录!”);

return “/index/index”;

request.setAttribute(“typeList”, typeService.getList());

request.setAttribute(“order”, orderService.get(orderid));

return “/index/pay.jsp”;

/**

  • 支付(模拟)

  • @return

*/

@RequestMapping(“/pay”)

public String pay(Orders order, ServletRequest request, HttpSession session) {

Users user = (Users) session.getAttribute(“user”);

if (user == null) {

request.setAttribute(“msg”, “请先登录!”);

return “/index/index”;

// 模拟支付

orderService.pay(order);

request.setAttribute(“typeList”, typeService.getList());

request.setAttribute(“order”, orderService.get(order.getId()));

request.setAttribute(“msg”, “支付成功! 即将跳转到订单列表”);

return “/index/pay.jsp”;

/**

  • 查看订单

  • @return

*/

@RequestMapping(“/order”)

public String order(HttpSession session, Model model){

model.addAttribute(“flag”, 12);

Users user = (Users) session.getAttribute(“user”);

if (user == null) {

model.addAttribute(“msg”, “请登录后查看订单!”);

return “/index/index”;

model.addAttribute(“typeList”, typeService.getList());

model.addAttribute(“orderList”, orderService.getListByUserid(user.getId()));

return “/index/order.jsp”;

/**

  • 个人信息

  • @return

*/

@RequestMapping(“/my”)

public String my(HttpSession session, Model model){

model.addAttribute(“flag”, 11);

model.addAttribute(“typeList”, typeService.getList());

Users user = (Users) session.getAttribute(“user”);

if (user == null) {

model.addAttribute(“msg”, “请先登录!”);

return “/index/index”;

model.addAttribute(“user”, user);

return “/index/my.jsp”;

/**

  • 修改信息

  • @return

*/

@RequestMapping(“/updateUser”)

public String updateUser(Users user, HttpSession session, Model model){

model.addAttribute(“flag”, 11);

model.addAttribute(“typeList”, typeService.getList());

Users userLogin = (Users) session.getAttribute(“user”);

if (userLogin == null) {

model.addAttribute(“msg”, “请先登录!”);

return “/index/index”;

// 修改资料

Users u = userService.get(userLogin.getId());

u.setName(user.getName());

u.setPhone(user.getPhone());

u.setAddress(user.getAddress());

userService.update(u); // 更新数据库

session.setAttribute(“user”, u); // 更新session

model.addAttribute(“msg”, “信息修改成功!”);

return “/index/my.jsp”;

/**

  • 修改信息

  • @return

*/

@RequestMapping(“/updatePassword”)

public String updatePassword(Users user, HttpSession session, Model model){

model.addAttribute(“flag”, 11);

model.addAttribute(“typeList”, typeService.getList());

Users userLogin = (Users) session.getAttribute(“user”);

if (userLogin == null) {

model.addAttribute(“msg”, “请先登录!”);

return “/index/index”;

// 修改密码

Users u = userService.get(userLogin.getId());

if(user.getPasswordNew()!=null && !user.getPasswordNew().trim().isEmpty()) {

if (user.getPassword()!=null && !user.getPassword().trim().isEmpty()

&& SafeUtil.encode(user.getPassword()).equals(u.getPassword())) {

if (user.getPasswordNew()!=null && !user.getPasswordNew().trim().isEmpty()) {

u.setPassword(SafeUtil.encode(user.getPasswordNew()));

userService.update(u); // 更新数据库

session.setAttribute(“user”, u); // 更新session

model.addAttribute(“msg”, “密码修改成功!”);

return “redirect:logout”;

}else {

model.addAttribute(“msg”, “原密码错误!”);

return “/index/index”;

前台相关接口:

/**

  • 前台相关接口

*/

@Controller

@RequestMapping(“/index”)

public class IndexController{

private static final int rows = 8; // 默认每页数量

@Autowired

private TopService topService;

@Autowired

private GoodService goodService;

@Autowired

private TypeService typeService;

@Autowired

private SkuService skuService;

/**

  • 首页

  • @return

*/

@RequestMapping(“/index”)

public String index(HttpServletRequest request){

request.setAttribute(“flag”, -1);

List typeList = typeService.getList();

request.setAttribute(“typeList”, typeList);

List<Map<String, Object>> dataList = new ArrayList<>();

for(Types type : typeList) {

Map<String, Object> map = new HashMap<>();

map.put(“type”, type);

map.put(“goodList”, goodService.getListByType(type.getId(), 1, 8)); // 取前8个

dataList.add(map);

request.setAttribute(“dataList”, dataList);

return “/index/index.jsp”;

/**

  • 推荐列表

  • @return

*/

@RequestMapping(“/top”)

public String tops(int typeid, @RequestParam(required=false, defaultValue=“1”)int page, HttpServletRequest request) {

request.setAttribute(“flag”, typeid==2 ? 7 : 8);

request.setAttribute(“typeList”, typeService.getList());

request.setAttribute(“goodList”, goodService.getList(typeid, page, rows));

request.setAttribute(“pageHtml”, PageUtil.getPageHtml(request, goodService.getTotal(typeid), page, rows));

return “/index/goods.jsp”;

/**

  • 商品列表

  • @return

*/

@RequestMapping(“/goods”)

public String goods(int typeid, @RequestParam(required=false, defaultValue=“1”)int page, HttpServletRequest request){

request.setAttribute(“flag”, typeid);

request.setAttribute(“typeList”, typeService.getList());

request.setAttribute(“topList”, topService.getList(Tops.TYPE_SUPPER, 1, 4));

if (typeid > 0) {

request.setAttribute(“type”, typeService.get(typeid));

request.setAttribute(“goodList”, goodService.getListByType(typeid, page, rows));

request.setAttribute(“pageHtml”, PageUtil.getPageHtml(request, goodService.getTotalByType(typeid), page, rows));

return “/index/goods.jsp”;

/**

  • 商品详情

  • @return

*/

@RequestMapping(“/detail”)

public String detail(int goodid, HttpServletRequest request){

request.setAttribute(“typeList”, typeService.getList());

request.setAttribute(“topList”, topService.getList(Tops.TYPE_SUPPER, 1, 4));

Goods good = goodService.get(goodid);

request.setAttribute(“good”, good);

request.setAttribute(“type”, typeService.get(good.getTypeId()));

request.setAttribute(“colorList”, skuService.getColorList(goodid));

request.setAttribute(“sizeList”, skuService.getSizeList(goodid));

return “/index/detail.jsp”;

/**

  • 搜索

  • @return

*/

@RequestMapping(“/search”)

public String search(String name, @RequestParam(required=false, defaultValue=“1”)int page, HttpServletRequest request) {

if (Objects.nonNull(name) && !name.trim().isEmpty()) {

request.setAttribute(“goodList”, goodService.getListByName(name, page, rows));

request.setAttribute(“pageHtml”, PageUtil.getPageHtml(request, goodService.getTotalByName(name), page, rows));

request.setAttribute(“typeList”, typeService.getList());

return “/index/goods.jsp”;

/**

  • 查询库存

  • @param goodid

  • @param colorid

  • @param sizeid

  • @return

*/

@GetMapping(“/stock”)

public @ResponseBody int stock(int goodid, int colorid, int sizeid) {

return skuService.getStock(goodid, colorid, sizeid);


基于javaweb的零食商城系统(java+ssm+jsp+mysql+easyui)相关推荐

  1. 基于javaweb+jsp的零食商城系统(java+SSM+jsp+MySQL+EasyUI)

    基于javaweb+jsp的零食商城系统(java+SSM+jsp+MySQL+EasyUI) 系统主要实现的功能有:用户浏览商品.加入商品到购物车.登录注册.提交订单,会员中心修改个人信息.查看订单 ...

  2. Java项目:零食商城系统(java+SSM+jsp+MySQL+EasyUI)

    源码获取:博客首页 "资源" 里下载! 系统主要实现的功能有:用户浏览商品.加入商品到购物车.登录注册.提交订单,会员中心修改个人信息.查看订单等. 后台管理员登录后可以分角色添加 ...

  3. 基于javaweb的网上图书商城系统(java+ssm+jsp+mysql+redis+jwt+shiro+rabbitmq+easyui)

    基于javaweb的网上图书商城系统(java+ssm+jsp+mysql+redis+jwt+shiro+rabbitmq+easyui) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥ ...

  4. 基于javaweb的零食商城系统(java+jsp+javascript+servlet+mysql)

    基于javaweb的零食商城系统(java+jsp+javascript+servlet+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea ...

  5. 基于javaweb的水果蔬菜商城系统(java+ssm+jsp+mysql)

    基于javaweb的水果蔬菜商城系统(java+ssm+jsp+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse/st ...

  6. 基于javaweb的家庭理财系统(java+ssm+jsp+tomcat8+mysql)

    基于javaweb的家庭理财系统(java+ssm+jsp+tomcat8+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myecli ...

  7. 基于javaweb的报销erp系统(java+ssm+jsp+layui+jquery+mysql)

    基于javaweb的报销erp系统(java+ssm+jsp+layui+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/ ...

  8. 基于javaweb的茶叶商城管理系统(java+ssm+jsp+ajax+jquery+mysql)

    基于javaweb的茶叶商城管理系统(java+ssm+jsp+ajax+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/ ...

  9. 基于javaweb的电影院购票系统(java+ssm+jsp+bootstrap+layui+echarts+mysql)

    基于javaweb的电影院购票系统(java+ssm+jsp+bootstrap+layui+echarts+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 ec ...

最新文章

  1. tomcat的部署及session绑定反代
  2. linux c/c++
  3. 电子工程与计算机科学的读后感,读后感-相关博文 - 电子工程世界-论坛
  4. windows+mysql+解压版_Windows操作系统安装MySQL解压版
  5. 知乎高赞回答:是否有必要系统学习概率图模型?
  6. 2011年吉林大学计算机研究生机试真题
  7. 音视频技术开发周刊(第120期)
  8. 文献学习(part24)--Splitting Methods for Convex Clustering
  9. 有意思的小学数学竞赛题-2
  10. linux mysql revoke_Linux环境下MySQL基础命令(4)----数据库的用户授权
  11. mysql将查询数据另存
  12. 工信部苗圩:提速降费并不会影响运营商对5G投入
  13. 抽象背景素材|纯粹为了视觉兴趣而存在
  14. ASN.1编解码:asn1c-ORAN-E2AP编解码示例
  15. 河南理工大学计算机专业几本,2018河南理工大学是几本 是一本还是二本
  16. 一种改进的樽海鞘群算法-附代码
  17. 数字电视机顶盒ATSC制式详细介绍
  18. 无线路由器服务器连接线,无线路由器连接有线路由器怎么设置?
  19. 桌面的文件突然不见了怎么恢复
  20. 子网掩码是什么?子网掩码及其CIDR斜杠表示法

热门文章

  1. mysql实体监听器_使用remote_listener实现数据库与监听器分离 | HelloDML
  2. 结构光系统标定(四)基于双目视觉的结构光系统标定
  3. requests+pytest+allure接口测试框架搭建
  4. JAVA面试基础知识整理
  5. edge浏览器仿真IE时发现的问题
  6. C#测试调用PaddleOCRSharp模块识别图片文字
  7. 交通安全评价方法简介
  8. 捷联惯导总结--初始对准,位置标定,INS姿态更新,GPS/INS组合
  9. 音诺恒科技多核验合一“数字电子哨兵”对接全国健康码精准核验
  10. AR Camera开发记录(二) -- 3D人脸模型