——————————DescriptionStart——————————
运行环境 Java≥8、MySQL≥5.7、Tomcat≥8
开发工具 eclipse/idea/myeclipse/sts等均可配置运行
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SSM校园二手市场系统(java+ssm+jsp+mysql+tomcat)
一、项目简述
功能:本系统分用户前台和管理员后台。 本系统用例模型有三种,分别是游客、注册用户和系统管 理员。下面分别对这三个角色的功能进行描述: 1) 诞 游客是未注册的用户,他们可以浏览物物品,可以搜索物 品,如需购买物品,必须先注册成为网站用户。游客主要 功触吓: a.浏览物品 b.搜索物品 c.注册成为网站用户 2) 注册用户 注册用户是经过网站合法认证的用户,登录网站后可以浏 览物品、搜索物品、发布物品、关注物品、购买物品和查 看个人中心。 3) 系统管理员 系统管理员主要负责系统的后台管理工作,主要功能如 下: 用户管理,商品管理等等。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe ( IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: Spring + SpringMVC + MyBatis + JSP+ css + JavaScript + JQuery + Ajax 等等。
——————————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 return "home/homeGoods" ; } @RequestMapping(value = "/goods/goodInfo", method = RequestMethod.GET) public String getGoodInfo (ModelMap model, HttpSession httpSession, @RequestParam(required = false) Integer goodId) { Good goodInfo = goodService.getGoodById(goodId); if (goodInfo == null ) { return "goods/error" ; } Integer collect = 1 ; User user = (User) httpSession.getAttribute("user" ); if (user == null ) { collect = 0 ; } else { if (collectService.getCollect(goodId, user.getId())) { collect = 2 ; } } List<Image> images = imageService.getImageByGoodId(goodId); User goodUser = userService.getUserById(goodInfo.getUserId()); goodInfo.setGoodUser(userService.getUserById(goodInfo.getUserId())); goodInfo.setGoodSecondType(typeService.getSecondTypeById(goodInfo .getSecondTypeId())); List<Review> reviews = reviewService.gerReviewByGoodId(goodId); for (Review review : reviews) { review.setReplys(reviewService.gerReplyByReviewId(review.getId())); } List<Good> goods = goodService.getRECGoods(goodInfo.getSecondTypeId(), goodInfo.getId()); model.addAttribute("message" , message); model.addAttribute("reviews" , reviews); model.addAttribute("goodInfo" , goodInfo); model.addAttribute("images" , images); model.addAttribute("goodUser" , goodUser); model.addAttribute("goods" , goods); model.addAttribute("collect" , collect); message = "" ; return "goods/goodInfo" ; }
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 } @RequestMapping(value = "/adminLogin", method = RequestMethod.POST) public String postAdminLogin (ModelMap model, @RequestParam(value = "email", required = false) String email, @RequestParam(value = "password", required = false) String password, HttpSession session) { User admin = userService.getUserByEmail(email); String message; if (admin != null ){ String mdsPass = password; if (!password .equals(admin.getPassword())){ message = "用户密码错误!" ; } else if (admin.getRoleId() != 101 ){ message = "用户没有权限访问!" ; } else { session.setAttribute("admin" ,admin); return "redirect:/admin/adminPage" ; } } else { message = "用户不存在!" ; } model.addAttribute("message" , message); return "admin/adminLogin" ; } @RequestMapping(value = "/adminLogout", method = RequestMethod.GET) public String adminLogout (@RequestParam(required = false, defaultValue = "false" ) String adminLogout, HttpSession session) { if (adminLogout.equals("true" )){ session.removeAttribute("admin" ); } return "redirect:/" ; } @RequestMapping(value = "/adminPage", method = RequestMethod.GET) public String getAdminPage (ModelMap model, HttpSession session) { User admin = (User) session.getAttribute("admin" ); if (admin == null ){ return "redirect:/admin/adminLogin" ; } List<Good> goodList = goodService.getAllGoodList(); for (Good good : goodList) { good.setGoodUser(userService.getUserById(good.getUserId())); good.setGoodSecondType(typeService.getSecondTypeById(good.getSecondTypeId())); } List<User> userList = userService.getAllUser(); List<FirstType> firstTypeList = typeService.getAllFirstType();
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 String mdsPass = password; if (!mdsPass.equals(user.getPassword())) { message = "用户密码错误!" ; } else { if (user.getStatusId() == 4 ) { session.setAttribute("user" , user); if (preURL.equals("" )) { return "redirect:/" ; } else { return "redirect:" + preURL; } } else { message = "用户已失效!" ; } } } else { message = "用户不存在!" ; } model.addAttribute("message" , message); return "home/login" ; } @RequestMapping(value = "/logout", method = RequestMethod.GET) public String logout ( @RequestParam(required = false, defaultValue = "false") String logout, HttpSession session) { if (logout.equals("true" )) { session.removeAttribute("user" ); } return "redirect:/" ; } @RequestMapping(value = "/register", method = RequestMethod.GET) public String registerPage (ModelMap model) { User user = new User(); model.addAttribute("user" , user); return "home/register" ; } @RequestMapping(value = "/register", method = RequestMethod.POST) public String registerSuccess (ModelMap model, @Valid User user) { String status; Boolean insertSuccess; InfoCheck infoCheck = new InfoCheck(); if (!infoCheck.isMobile(user.getMobile())) { status = "请输入正确的手机号!" ; } else if (!infoCheck.isEmail(user.getEmail())) { status = "请输入正确的邮箱!" ; } else if (userService.getUserByMobile(user.getMobile()) != null ) { status = "此手机号码已使用!" ;
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 if (!photo.isEmpty()) { RandomString randomString = new RandomString(); FileCheck fileCheck = new FileCheck(); String filePath = "/statics/image/photos/" ; String pathRoot = session.getServletContext().getRealPath(filePath); String fileName = user.getId() + randomString.getRandomString(10 ); String contentType = photo.getContentType(); String imageName = contentType.substring(contentType .indexOf("/" ) + 1 ); String name = fileName + "." + imageName; photo.transferTo(new File(pathRoot,name)); String photoUrl = filePath + "/" + name; user.setPhotoUrl(photoUrl); } else { String photoUrl = userService.getUserById(user.getId()) .getPhotoUrl(); user.setPhotoUrl(photoUrl); } insertSuccess = userService.updateUser(user); if (insertSuccess) { session.removeAttribute("user" ); session.setAttribute("user" , user); return "redirect:/user/userProfile" ; } else { status = "修改失败!" ; model.addAttribute("user" , user); model.addAttribute("status" , status); return "user/userEdit" ; } } System.out.println(user.getMobile()); System.out.println(status); model.addAttribute("user" , user); model.addAttribute("status" , status); return "user/userEdit" ; }
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 model.addAttribute("collects" , collects); model.addAttribute("goods" , goods); model.addAttribute("orders" , orders); model.addAttribute("reviews" , reviews); model.addAttribute("replies" , replies); model.addAttribute("sellGoods" , sellGoods); return "user/userProfile" ; } @RequestMapping(value = "/review", method = RequestMethod.GET) public String getReviewInfo (@RequestParam(required = false) Integer goodId, @RequestParam(required = false) Integer reviewId) { System.out.println("reviewId" + reviewId); if (reviewId != null ) { System.out.println("reviewId" + reviewId); if (reviewService.updateReviewStatus(1 , reviewId) == 1 ) { return "redirect:/goods/goodInfo?goodId=" + goodId; } } return "redirect:/user/userProfile" ; } @RequestMapping(value = "/reply", method = RequestMethod.GET) public String getReplyInfo ( @RequestParam(required = false) Integer reviewId, @RequestParam(required = false) Integer replyId) { if (replyId != null ) { if (reviewService.updateReplyStatus(1 , replyId) == 1 ) { Integer goodId = reviewService.getGoodIdByReviewId(reviewId); return "redirect:/goods/goodInfo?goodId=" + goodId; } } return "redirect:/user/userProfile" ; } @RequestMapping(value = "/userEdit", method = RequestMethod.GET) public String getUserEdit (ModelMap model, @RequestParam(value = "userId", required = false) Integer userId, HttpSession session) { User sessionUser = (User) session.getAttribute("user" ); if (sessionUser == null ) { return "redirect:/" ; } User user = userService.getUserById(userId); List<Order> sellGoods = orderService.getOrderBySellerId(user.getId()); List<Review> reviews = reviewService.gerReviewByToUserId(user.getId()); List<Reply> replies = reviewService.gerReplyByToUserId(user.getId()); model.addAttribute("user" , user); model.addAttribute("sellGoods" , sellGoods); model.addAttribute("reviews" , reviews); model.addAttribute("replies" , replies); return "user/userEdit" ; }
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 double goodsNum = goodService.getGoodsBySearchAndTypeCount(searchText, secondTypeId); List<FirstType> firstTypes = typeService.getAllFirstType(); for (FirstType firstType : firstTypes) { firstType.setSecondType(typeService .getSecondTypeByFirstTypeId(firstType.getId())); } model.addAttribute("firstTypes" , firstTypes); model.addAttribute("goods" , goods); model.addAttribute("pages" , Math.ceil(goodsNum / limit)); model.addAttribute("goodsNum" , goodsNum); model.addAttribute("offset" , offset); model.addAttribute("limit" , limit); return "home/homeGoods" ; } @RequestMapping(value = "/goods/goodInfo", method = RequestMethod.GET) public String getGoodInfo (ModelMap model, HttpSession httpSession, @RequestParam(required = false) Integer goodId) { Good goodInfo = goodService.getGoodById(goodId); if (goodInfo == null ) { return "goods/error" ; } Integer collect = 1 ; User user = (User) httpSession.getAttribute("user" ); if (user == null ) { collect = 0 ; } else { if (collectService.getCollect(goodId, user.getId())) { collect = 2 ; } } List<Image> images = imageService.getImageByGoodId(goodId); User goodUser = userService.getUserById(goodInfo.getUserId()); goodInfo.setGoodUser(userService.getUserById(goodInfo.getUserId())); goodInfo.setGoodSecondType(typeService.getSecondTypeById(goodInfo .getSecondTypeId())); List<Review> reviews = reviewService.gerReviewByGoodId(goodId); for (Review review : reviews) { review.setReplys(reviewService.gerReplyByReviewId(review.getId())); } List<Good> goods = goodService.getRECGoods(goodInfo.getSecondTypeId(), goodInfo.getId()); model.addAttribute("message" , message); model.addAttribute("reviews" , reviews); model.addAttribute("goodInfo" , goodInfo); model.addAttribute("images" , images); model.addAttribute("goodUser" , goodUser); model.addAttribute("goods" , goods); model.addAttribute("collect" , collect); message = "" ; return "goods/goodInfo" ; }
——————————PayStart——————————
项目链接: https://javayms.github.io?id=581422282105200ea https://javayms.pages.dev?id=581422282105200ea