作者主页:夜未央5788

简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

该项目为前后台项目,分为普通用户与管理员两种角色,前台普通用户登录,后台管理员登录;

用户角色包含以下功能:

加入购物车,发表留言,提交订单,查看订单信息,会员注册,登录页面等功能。

管理员角色包含以下功能:

一级分类管理,宠物二级分类管理,宠物管理,宠物订单管理,用户管理,留言管理,管理员登录页面等功能。

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;

5.数据库:MySql 5.7版本;

6.是否Maven项目:否;

技术栈

1. 后端:Spring+SpringMVC+Mybatis

2. 前端:JSP+jQuery+Ajax

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;

3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置;

4. 运行项目,在浏览器中输入http://localhost:8080/ 登录

用户账号/密码: user/123456
管理员账号/密码:admin/admin

运行截图

前台界面

后台界面

代码相关

管理端控制器

@Controller
public class AdminController {@Autowiredprivate UserService userService;@Autowiredpublic CategoryService categoryService;@Autowiredpublic CategorySecondService categorySecondService;@Autowiredpublic ProductService productService;@Autowiredprivate OrderService orderService;@Autowiredprivate 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<User> 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<Category> 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<Category> 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<Categorysecond> csPageBean = categorySecondService.adminCategorySecond_findAllByPage(page);/*List<Categorysecond> 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<Category> 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<Product> 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<Categorysecond> 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<Categorysecond> 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<Orders> 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<Orders> 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<Message> 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 cartController {@Autowiredprivate ProductService productService;
//  添加到购物车@RequestMapping("/addCart")public String addCart(HttpServletRequest request,@RequestParam int pid,@RequestParam int count ,Model model){Product product = productService.finbProductByPid(pid);
//      存进一个购物项CartItem cartItem = new CartItem();cartItem.setCount(count);cartItem.setProduct(product);cartItem.setSubtotle(count*product.getShopPrice());
//      存进购物车Cart cart=getCart(request);cart.addCart(cartItem);return "cart";}
//  查看我的购物车@RequestMapping("/myCart")public String myCart(HttpServletRequest request,Model model){User loginUser = (User) request.getSession().getAttribute("loginUser");if (loginUser == null) {model.addAttribute("message","您还没有登录!");return "msg";}return "cart";}// 清空购物车@RequestMapping("/clearCart")public String clearCart(HttpServletRequest request){Cart cart=getCart(request);cart.clearCart();return "redirect:myCart.action";}
//  删除某个购物项@RequestMapping("/delProFromCart")public String delProFromCart(@RequestParam int pid,HttpServletRequest request){Cart cart=getCart(request);cart.delProFromCart(pid);return "redirect:myCart.action";}public Cart getCart(HttpServletRequest request) {Cart cart = (Cart) request.getSession().getAttribute("cart");if (cart == null) {cart = new Cart();request.getSession().setAttribute("cart", cart);}return cart;}
}

订单管理控制器

@Controller
public class orderController {@Autowiredprivate 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<Orders> 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";}
}

如果也想学习本系统,下面领取。关注并回复:137ssm

Java项目:SSM宠物商城带后台管理系统相关推荐

  1. 基于javaweb的宠物商城带后台管理系统(java+ssm+jsp+jquery+ajax+mysql)

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

  2. 码云上面优秀的java项目_秒建一个后台管理系统?用这5个开源免费的Java项目就够了...

    以下推荐项目都是码云上的优质项目,并且都是项目快速开发脚手架,代码质量什么的无法保证能有多好,毕竟很多也是个人开发,或多或少也有个人色彩影响. 不过既然开源出来,这么多人参与,一般情况下项目整体质量可 ...

  3. java毕业设计网上宠物商城管理系统源码+lw文档+mybatis+系统+mysql数据库+调试

    java毕业设计网上宠物商城管理系统源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计网上宠物商城管理系统源码+lw文档+mybatis+系统+mysql数据库+调试 本源 ...

  4. 基于Springboot+mysql手机商城(带后台管理系统)

    项目描述 Springboot+mysql手机商城(带后台管理系统) 运行环境 jdk8+mysql+IntelliJ IDEA+maven 项目技术 springboot+mysql+mybatis ...

  5. java计算机毕业设计美容中心在线后台管理系统源码+系统+mysql数据库+lw文档

    java计算机毕业设计美容中心在线后台管理系统源码+系统+mysql数据库+lw文档 java计算机毕业设计美容中心在线后台管理系统源码+系统+mysql数据库+lw文档 本源码技术栈: 项目架构:B ...

  6. 基于java项目ssm二手书交易平台设计与实现(论文+程序设计源码+数据库文件)

    1 绪论 4 1.1 项目开发背景 4 1.2 项目开发意义 5 1.3 项目主要的内容 5 2 相关技术介绍及系统环境开发条件 6 2.1相关技术介绍 6 2.2系统环境开发条件 7 3 系统的需求 ...

  7. 基于java(ssm)人事考勤签到管理系统源码(java毕业设计)

    基于java(ssm)人事考勤签到管理系统 人事考勤签到管理系统是基于java编程语言,mysql数据库,ssm框架,idea工具开发,本系统分为员工,部门经理,管理员三个角色,员工可以登陆系统,在线 ...

  8. java计算机毕业设计Web网上购书后台管理系统(附源码、数据库)

    java计算机毕业设计Web网上购书后台管理系统(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ecl ...

  9. 图书购物商城 图书后台管理系统

    图书购物商城 图书后台管理系统 这个图书购物商城系统是一个基于JSP.Servlet和MySQL技术开发的综合性系统,它包括前台和后台功能.该系统旨在为用户提供一个便捷的购书平台,同时为管理员提供管理 ...

最新文章

  1. web自动化测试从入门到持续集成(selenium webdriver)
  2. 非线性规划-三种常见参数估计算法及联系
  3. Windows 远程桌面管理
  4. 《自卑与超越》读书笔记(part1)--行为举止永远受到人生意义的制约
  5. SpringMvc Intercetor
  6. Rancher 2.5 正式发布,多项重大更新来袭!
  7. x86服务器当虚拟化的存储,龙存科技-软件定义数据中心产品提供商
  8. java并发(3)ThreadLocal的使用及实现原理(实现原理)
  9. spring管理bean
  10. Slim下的函数介绍(一)(转)
  11. Linux OS共享文件
  12. 1-7 Graph 可视化
  13. VS2017下载地址和安装教程(图解)
  14. 图解项目管理详细流程全景图
  15. C++算法之-小球问题
  16. Jlink-V9虚拟串口接口(JTAG、SWD、TTL)
  17. 改oracle sockets,安装GI最后检查时出现warning - Domain Sockets,PRVG-11750
  18. SBX(Simulated binary crossover)模拟二进制交叉算子和DE(differential evolution)差分进化算子...
  19. 微信小程序使用crypto.js加密解密
  20. 128陷阱解析(Java中的128陷阱)

热门文章

  1. 华为10月17日提前发布鸿蒙手机,华为10月17日发布顶尖新机:首发鸿蒙系统+全球首发屏下摄像头...
  2. 用计算机弹奏喜欢你,抖音喜欢你计算器乐谱是怎样的?抖音喜欢你计算器乐谱分享[多图]...
  3. Report报表学习系列五
  4. SQL 笔记 By 华仔
  5. 开设计算机图形学本科的学校,35 所高校获批开设「人工智能」本科专业
  6. IDEA Debug时报错Cannot start compilation: the output path is not specified for module““
  7. 域名注册与备案(阿里云)
  8. ABB涡街流量计FSV430
  9. 新手指南:DVWA-1.9全级别教程之Brute Force
  10. 3.3.1JavaScript网页编程——WebAPI(JS之DOM基础篇,含事件)