——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明






基于javaweb的SSM外卖订餐管理系统(java+ssm+jsp+jquery+ajax+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/ 登录 用户账号/密码: 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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| } @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"; }
@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){
|
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
| 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;
@Controller public class cartController { @Autowired private 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());
|
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
| @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, 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.exception;
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 31 32 33 34 35 36 37 38 39 40 41 42
| } } 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{ response.getWriter().write("不可以登录"); } } catch (Exception e) { e.printStackTrace(); } } @RequestMapping("/registFindByid") public void registFindByid(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{ response.getWriter().write("可以注册"); } } catch (Exception e) { e.printStackTrace(); }
|
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
| Random random = new Random();
StringBuffer sb = new StringBuffer();
int x = 10; for (int i = 0; i < 4; i++) { graphics2d.setColor(new Color(20 + random.nextInt(110), 20 + random .nextInt(110), 20 + random.nextInt(110))); int jiaodu = random.nextInt(60) - 30; double theta = jiaodu * Math.PI / 180;
int index = random.nextInt(words.length()); char c = words.charAt(index); sb.append(c); graphics2d.rotate(theta, x, 20); graphics2d.drawString(String.valueOf(c), x, 20); graphics2d.rotate(-theta, x, 20); x += 30; }
request.getSession().setAttribute("checkcode", sb.toString()); System.out.println(sb.toString());
graphics.setColor(getRandColor(160, 200)); int x1; int x2; int y1; int y2; for (int i = 0; i < 30; i++) { x1 = random.nextInt(width); x2 = random.nextInt(12); y1 = random.nextInt(height); y2 = random.nextInt(12); graphics.drawLine(x1, y1, x1 + x2, x2 + y2); }
graphics.dispose(); ImageIO.write(bufferedImage, "jpg", response.getOutputStream());
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=312322092805200mi
https://javayms.pages.dev?id=312322092805200mi