——————————DescriptionStart——————————
运行环境 Java≥8、MySQL≥5.7、Tomcat≥8
开发工具 eclipse/idea/myeclipse/sts等均可配置运行
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SSM茶叶商城管理系统(java+ssm+jsp+ajax+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.数据库:MySql 5.7版本; 6.是否Maven项目:否;
技术栈
后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+jQuery+Ajax
使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,输入localhost:8080/ 登录
——————————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 37 38 39 40 41 42 43 44 45 46 } @RequestMapping("/userRegist") public String userRegist (Model model, HttpServletRequest request, @Validated User user, BindingResult bindingResult, @RequestParam String checkImg) throws Exception { if (bindingResult.hasErrors()) { List<ObjectError> errors =bindingResult.getAllErrors(); List<String> list = new ArrayList<>(); for (ObjectError objectError : errors) { String str = new String(objectError.getDefaultMessage() .getBytes("ISO-8859-1" ), "gbk" ); list.add(str); } model.addAttribute("errors" , list); return "regist" ; } 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" , "激活码成功" );
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 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" ; } @RequestMapping("/admin/adminOrder_findByState")
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 if (fc > 255 ) { fc = 255 ; } if (bc > 255 ) { bc = 255 ; } int r = fc + random.nextInt(bc - fc); int g = fc + random.nextInt(bc - fc); int b = fc + random.nextInt(bc - fc); return new Color(r, g, b); } } package com.shop.controller;@Controller public class loginController { @Autowired private UserService userService; @RequestMapping("login") public String login () { return "login" ; } @RequestMapping("/userLogin") public String userLogin (HttpServletRequest request, @RequestParam String checkImg, User user, Model model) throws zdyException, Exception { String sessionCode = (String) request.getSession().getAttribute( "checkcode" ); if (!sessionCode.equalsIgnoreCase(checkImg)) { request.getSession().setAttribute("message" , "验证码输入错误请重新注册" ); return "redirect:login.action" ; } User loginUser = userService.loginFindByUnameAndPwd(user.getUsername(),
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 52 53 Cart cart = (Cart) request.getSession().getAttribute("cart" ); User loginUser = (User) request.getSession().getAttribute("loginUser" ); if (loginUser==null ){ model.addAttribute("message" , "对不起您还没有登录" ); return "msg" ; } orders.setState(0 ); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss" ); Date date = simpleDateFormat.parse(simpleDateFormat.format(new Date())); orders.setOrderTime(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" ; }
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 request.getSession().setAttribute("Message" , Message); return "redirect:/messageList.action?page=1" ; } @RequestMapping("/messageList") public String messageList (@RequestParam int page, Model model, HttpServletRequest request) throws Exception { PageBean<Message> pageBean = messageService.findAllMessageByPage(page); model.addAttribute("pageBean" , pageBean); return "messageList" ; } } package com.shop.controller;@Controller public class ajaxController { @Autowired private UserService userService; @RequestMapping("/loginFindByid") public void loginFindByid (HttpServletRequest request, HttpServletResponse response, @RequestParam String username) { response.setContentType("text/html;charset=UTF-8" ); try { User user = userService.loginFindByid(username); if (user!=null ) { response.getWriter().write("可以登录" ); }else {
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 @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" ; } @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" ; } @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")
——————————PayStart——————————
项目链接: https://javayms.github.io?id=071122542008200rx https://javayms.pages.dev?id=071122542008200rx