——————————DescriptionStart——————————
运行环境 Java≥8、MySQL≥5.7、Tomcat≥8
开发工具 eclipse/idea/myeclipse/sts等均可配置运行
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SSM绿茶茶叶商城系统(java+ssm+jsp+jquery+mysql)
项目介绍
本项目分为前后台,前台为普通用户角色,后台为管理员角色;
管理员角色包含以下功能:
管理员登录,用户管理,一级分类管理,二级分类管理,绿茶管理,订单管理,公告管理,发表公告,留言管理等功能。
用户角色包含以下功能:
查看首页,用户登录,查看商品详情,查看购物车,提交订单,查看我的订单,提交留言,修改密码等功能。
环境需要
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.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7、8.0等版本均可;
技术栈
后端:Spring springmvc mybatis
前端:JSP+css+javascript+jQuery
使用说明
使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
2.使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat
将项目中config/jdbc.properties配置文件中的数据库配置改为自己的配置;
运行项目,在浏览器中输入http://localhost:8080/ 登录
用户账号/密码: user/123456
管理员账号/密码:admin/admin
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 String sessionCode = (String) request.getSession().getAttribute( "checkcode" ); if (!sessionCode.equalsIgnoreCase(checkImg)) { throw new zdyException("验证码错误请重新注册" ); } userService.saveUser(user); model.addAttribute("message" , "注册成功请登录" ); return "msg" ; } @RequestMapping("/activeUser") public String activeUser (@RequestParam String code,Model model) throws zdyException,Exception { User activeUser = userService.findByCode(code); if (activeUser==null ){ throw new zdyException("激活码被篡改了,请重新注册" ); } activeUser.setState(1 ); activeUser.setCode(null ); userService.activeUser(activeUser); model.addAttribute("message" , "激活码成功" ); return "msg" ; } } package com.shop.controller;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 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; } } package com.shop.controller;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 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" ; } @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(); 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());
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 @RequestMapping("/updateState") public String updateState (@RequestParam int oid ) throws Exception { orderService.updateOrderStatus(oid, 3 ); return "redirect:myOrder.action?page=1" ; } } package com.shop.controller;@Controller public class checkImgController { @RequestMapping("checkImg") public void checkImg (HttpServletRequest request ,HttpServletResponse response) throws IOException { int width = 120 ; int height = 30 ; BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics graphics = bufferedImage.getGraphics(); graphics.setColor(getRandColor(200 , 250 )); graphics.fillRect(0 , 0 , width, height); graphics.setColor(Color.WHITE); graphics.drawRect(0 , 0 , width - 1 , height - 1 ); Graphics2D graphics2d = (Graphics2D) graphics; graphics2d.setFont(new Font("宋体" , Font.BOLD, 18 )); String words = "\u7684\u4e00\u4e86\u662f\u6211\u4e0d\u5728\u4eba\u4eec\u6709\u6765\u4ed6\u8fd9\u4e0a\u7740\u4e2a\u5730\u5230\u5927\u91cc\u8bf4\u5c31\u53bb\u5b50\u5f97\u4e5f\u548c\u90a3\u8981\u4e0b\u770b\u5929\u65f6\u8fc7\u51fa\u5c0f\u4e48\u8d77\u4f60\u90fd\u628a\u597d\u8fd8" ; Random random = new Random();
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 Object object) throws Exception { String uri = request.getRequestURI(); if (uri.indexOf("admin.action" )>=0 ){ return true ; } Adminuser adminuserLogin = (Adminuser) request.getSession().getAttribute("adminuserLogin" ); if (adminuserLogin!=null ){ return true ; } request.getRequestDispatcher("/WEB-INF/jsp/admin/index.jsp" ).forward(request, response); return true ; } @Override public void postHandle (HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { } @Override public void afterCompletion (HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { } } package com.shop.util;public class golbalException implements HandlerExceptionResolver { public ModelAndView resolveException (HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { response.setHeader("content-type" , "text/html;charset=UTF-8" ); response.setHeader("refresh" , "5;url=/shop/index.action" ); zdyException exception =null ; if (ex instanceof zdyException){ exception=(zdyException)ex; }else { exception.setMessage("发生了未知异常" );
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 List<Product> hList= productService.findHotProduct(); model.addAttribute("hList" , hList); List<Product> srList = productService.searchProduct(condition); model.addAttribute("srList" , srList); List<Product> sList; if (hList.size()>3 ) { sList = new ArrayList<Product>(); sList.add(hList.get(0 )); sList.add(hList.get(1 )); sList.add(hList.get(2 )); model.addAttribute("sList" , sList); } else { model.addAttribute("sList" , hList); } return "searchProduct" ; } } package com.shop.controller;
——————————PayStart——————————
项目链接: https://javayms.github.io?id=111023501103200zr https://javayms.pages.dev?id=111023501103200zr