——————————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.数据库: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
| Iterator iter = request.getParameterMap().values().iterator(); while (iter.hasNext()) { String[] parames = (String[]) iter.next(); for (int i = 0; i < parames.length; i++) { parames[i] = new String(parames[i].getBytes("iso8859-1"), "utf-8"); } } }*/ return true; }
@Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object arg2, ModelAndView arg3) throws Exception { }
@Override public void afterCompletion(HttpServletRequest request, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { } }
@Controller public class PrivilageInterceptor implements HandlerInterceptor{
@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 ;
|
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
| 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"; } @RequestMapping("/payOrderAganin") public String payOrderAganin(@RequestParam int oid,HttpServletRequest request){ Orders noPayOrder = orderService.findOrderByOid(oid); request.getSession().setAttribute("orders", noPayOrder); return "order"; } @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"; } }
|
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
| 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());
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);
|
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
| } categorySecondService.adminCategorySecond_deleteByCid(cid); categoryService.deleteCategoryByCid(cid); return "redirect:/admin/adminCategory_findAll.action"; }
@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);
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);
|
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
|
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();
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; }
|
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
| 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();
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());
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=101122542008200sa
https://javayms.pages.dev?id=101122542008200sa