源码获取:博客首页 "资源" 里下载!

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

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

后台相关接口:

/*** 后台相关接口*/
@Controller
@RequestMapping("/admin")
public class AdminController {private static final int rows = 10;@Autowiredprivate AdminService adminService;@Autowiredprivate OrderService orderService;@Autowiredprivate UserService userService;@Autowiredprivate GoodService goodService;@Autowiredprivate TopService topService;@Autowiredprivate TypeService typeService;@Autowiredprivate 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{@Resourceprivate UserService userService;@Resourceprivate OrderService orderService;@Resourceprivate GoodService goodService;@Resourceprivate TypeService typeService;@Resourceprivate ShopcartService shopcartService;@Resourceprivate 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<Shopcart> 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); // 更新sessionmodel.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); // 更新sessionmodel.addAttribute("msg", "密码修改成功!");return "redirect:logout";}else {model.addAttribute("msg", "原密码错误!");}}return "/index/index";}}

前台相关接口:


/*** 前台相关接口*/
@Controller
@RequestMapping("/index")
public class IndexController{private static final int rows = 8; // 默认每页数量@Autowiredprivate TopService topService;@Autowiredprivate GoodService goodService;@Autowiredprivate TypeService typeService;@Autowiredprivate SkuService skuService;/*** 首页* @return*/@RequestMapping("/index")public String index(HttpServletRequest request){request.setAttribute("flag", -1);List<Types> 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);}}

源码获取:博客首页 "资源" 里下载!

Java项目:零食商城系统(java+SSM+jsp+MySQL+EasyUI)相关推荐

  1. Java项目:零食商城系统(java+JSP+JavaScript+servlet+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目分前后台,共有管理员.卖家.买家三种角色: 前台主要功能包括: 首页.商城介绍.商品一览.打折专区.销售排行.成交记录. ...

  2. Java项目:化妆品商城系统(java+Springboot+ssm+mysql+jsp+maven)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统主要实现的功能有: 网上商城系统,前台+后台管理,用户注册,登录,上架展示,分组展示,搜索,收货地址管理,购物车管理,添 ...

  3. Java项目:网上商城系统(java+SSM+jsp+mysql+maven)

    源码获取:博客首页 "资源" 里下载! 一.项目简述功能 javaweb 网上商城系统,前台+后台管理,用户注册,登录,上哦展示,分组展示,搜索,收货地址管理,购物车管理,添加,购 ...

  4. Java项目:生鲜商城系统(java+JSP+bootstrap+servlet+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目分为前后台,分为管理员与普通用户两种角色,管理员登录后台,普通用户登录前台: 管理员登录包含以下功能: 登录,订单管理操 ...

  5. Java项目:汽配商城系统(java+HTML+JavaScript+jsp+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 管理员角色包含以下功能: 修改管理员信息,订单管理,客户管理,鞋子管理,类目管理等功能. 用户角色包含以下功能: 查看首页,用 ...

  6. Java项目:水产品商城系统(java+JSP+bootstrap+servlet+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目分为前后台,分为管理员与普通用户两种角色,管理员登录后台,普通用户登录前台: 管理员登录包含以下功能: 管理员登录,修改 ...

  7. Java项目:眼镜商城系统(java+SSM+JSP+jQuery+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 管理员角色包含以下功能: 管理员登录,管理员管理,管理商城会员,新闻公告管理,眼睛类型管理,城市信息管理,连锁配镜店管理,眼镜 ...

  8. Java项目:饰品商城系统(java+SSM+JSP+javascript+jQuery+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目分为前台与后台,有普通用户与管理员两种角色: 管理员角色包含以下功能: 管理员登录,用户管理,一级分类管理,二级分类管理 ...

  9. Java项目:电器商城系统(java+SSM+JSP+jQuery+javascript+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目分为前后台,前台为普通用户登录,后台管理员登录: 管理员角色包含以下功能: 修改个人信息,员工信息管理,商品管理,图片管 ...

最新文章

  1. 读源码Apache-commons-lang3-3.1(三)
  2. 深度学习修炼(五)——基于pytorch神经网络模型进行气温预测
  3. hp打印机一直显示正在打印中_惠普打印机哪个型号好 安装hp打印机驱动方法【详解】...
  4. [C++] - private static成员函数
  5. DEDECMS系统后台添加菜单列表
  6. 2014年工作中遇到的20个问题:161-180
  7. CAD 2014 删除 Autodesk 360
  8. 给element添加自定义图标
  9. 关于指针总结(指针种类,概念,作用与用途)
  10. c语言青蛙跳答案是多少啊,青蛙跳台阶问题(示例代码)
  11. MathType求和符号中的黑三角该如何消除
  12. 阿里云服务器可不可以转海外服务器
  13. 用 Java 实现一个远程控制客户端
  14. SQL链接EXCEL文件
  15. clickonce程序部署后,启动不成功的问题
  16. 小程序自定义导航栏返回主页
  17. css样式对IOS设备苹果手机不支持解决方法
  18. 并发编程之深入理解十三:CompletionService CompletableFuture
  19. 2006,战斗的一年
  20. 关于 vue-seamless-scroll 的问题采坑

热门文章

  1. C4D和Redshift:2D矢量到三维渲染 Cinema 4D and Redshift: 2D vector to 3D render
  2. DataX 安装和使用
  3. ThinkPHP5.0中Redis的使用和封装(原创)
  4. window.open和window.location.href的几种用法
  5. FilenameFilter的使用
  6. Linux抓包工具tcpdump详解
  7. Windows环境下Unicode编程总结和将ANSI转换到Unicode 将Unicode转换到ANSI
  8. linux(armv7/8)下gdb的安装及查看方法
  9. centOS怎样强制卸载PHP以及自定义安装PHP
  10. 使用.NET自带的类实现DataGrid报表的打印。