——————————DescriptionStart——————————
运行环境 Java≥8、MySQL≥5.7、Tomcat≥8
开发工具 eclipse/idea/myeclipse/sts等均可配置运行
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SSM+Maven网上书店图书商城(java+ssm+jsp+javascript+mysql)
技术总结: 前端:html css js jQuery bootstrap
后台: 控制器:springMVC Dependence Injection:spring ORM:mybatis
数据库:mysql
前台用户地址 http://localhost:8080/index.do user1 123456
后台管理地址 http://localhost:8080/backLoginPage.do admin 123456
——————————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 } public class LoginFilter implements Filter { @Override public void init (FilterConfig filterConfig) throws ServletException { } public void doFilter (ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest servletRequest = (HttpServletRequest) request; HttpServletResponse servletResponse = (HttpServletResponse) response; HttpSession session = servletRequest.getSession(); String path = servletRequest.getRequestURI(); String admin = (String) session.getAttribute("admin" ); for (int i = 0 ; i < Constant.NoFilter_Pages.length; i++) { if (path.indexOf(Constant.NoFilter_Pages[i]) > -1 ) { chain.doFilter(servletRequest, servletResponse); return ; } } if (path.indexOf("/backLoginPage.do" ) > -1 ) { chain.doFilter(servletRequest, servletResponse); return ; }
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 Book book = new Book(); book.setBname(bname); book.setDetail(detail); book.setPirce(pirce); book.setType(type); book.setWriter(writer); book.setPrinter(printer); book.setDate(date); book.setImage(img); book.setStore(store); bookService.addBook(book); return new ModelAndView("redirect:/manaBook.do" ); } @RequestMapping("/manaBook") public String manaBook (Integer pageNum, Model model) { if (pageNum != null ) { PageHelper.startPage(pageNum, com.laver.bookstore.util.Constant.MB_PAGE_SIZE); } else { PageHelper.startPage(1 , com.laver.bookstore.util.Constant.MB_PAGE_SIZE); } List<Book> books = bookService.findAllBook(); PageInfo<Book> pageInfo = new PageInfo<Book>(books); model.addAttribute("pageInfo" , pageInfo); model.addAttribute("books" , books); return "manage/product" ; } @RequestMapping("/delBook") public ModelAndView deleteUser (Integer bid) { bookService.delById(bid); return new ModelAndView("redirect:/manaBook.do" ); } @RequestMapping("/modifyBookPage") public String modifyUserPage (Model model, Integer bid) { Book book = bookService.findById(bid); Set<String> bts = bookService.bookType(); model.addAttribute("bts" , bts); model.addAttribute("book" , book); return "manage/product-modify" ; }
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 bookOrderService.deleteByPrimaryKey(oid); orderDetailService.deleteByOid(oid); return new ModelAndView("redirect:/BookOrder.do" ); } @RequestMapping("/orderModify") public ModelAndView orderModify (Integer oid,String oname,String address,String status) { BookOrder bookOrder = new BookOrder(); bookOrder.setOid(oid); bookOrder.setOname(oname); bookOrder.setAdress(address); bookOrder.setStatus(status); bookOrderService.update(bookOrder); return new ModelAndView("redirect:/BookOrder.do" ); } @RequestMapping("/orderModifyPage") public String orderModifyPage (Integer oid,Model model) { BookOrder bookOrder = bookOrderService.selectByPrimaryKey(oid); model.addAttribute("bookOrder" , bookOrder); return "manage/order-modify" ; } @RequestMapping("/BookOrder") public ModelAndView bookOrder (Model model, @RequestParam(value = "pageNum",defaultValue = "1") Integer pageNum, String oname, Integer oid, HttpSession session) { Set<Book> books = new HashSet<>(); BookOrderExample bookOrderExample = new BookOrderExample(); Criteria cri = bookOrderExample.createCriteria(); if (oid!=null ){ cri.andOidEqualTo(oid); } session.setAttribute("oid" ,oid); if (StringUtils.isNotEmpty(oname)){ cri.andOnameLike("%" +oname+"%" ); } session.setAttribute("oname" ,oname); PageHelper.startPage(pageNum, com.laver.bookstore.util.Constant.UO_PAGE_SIZE,"date desc" ); List<BookOrder> bookOrders = bookOrderService.selectByExample(bookOrderExample); for (BookOrder bookOrder : bookOrders) { OrderDetailExample orderDetailExample = new OrderDetailExample(); OrderDetailExample.Criteria detailExampleCriteria = orderDetailExample.createCriteria(); detailExampleCriteria.andOrderIdEqualTo(bookOrder.getOid()); List<OrderDetail> orderDetails = orderDetailService.selectByExample(orderDetailExample); for (OrderDetail orderDetail : orderDetails) { books.add(bookService.findById(orderDetail.getBookId())); } bookOrder.setOrderDetails(orderDetails); } PageInfo<BookOrder> pageInfo = new PageInfo<>(bookOrders);
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 books.add(book); } if (pageNum!=null ){ PageHelper.startPage(pageNum,com.laver.bookstore.util.Constant.UO_PAGE_SIZE,"date desc" ); }else { PageHelper.startPage(1 , com.laver.bookstore.util.Constant.UO_PAGE_SIZE,"date desc" ); } List<BookOrder> bookOrders = bookOrderService.selectByExample(example); PageInfo<BookOrder> pageInfo = new PageInfo<BookOrder>(bookOrders); model.addAttribute("pageInfo" , pageInfo); model.addAttribute("bookOrders" , bookOrders); model.addAttribute("books" , books); model.addAttribute("orderDetails" , orderDetails); return "front/user-order" ; } @ResponseBody @RequestMapping("/updatePwd") public String updatePwd (Integer uid,String password,String newPassword) { if (password==null ||password.equals("" )){ return "pwdEmpty" ; } password = MD5Utils.encode(password); if (newPassword==null ||newPassword.equals("" )){ return "newEmpty" ; } newPassword = MD5Utils.encode(newPassword); boolean flag = userService.updatePwd(uid, password, newPassword); if (flag){ return "success" ; } return "false" ; } }
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 Book book=bookService.findById(bid); Cart cart=null ; if (session.getAttribute("cart" )!=null ){ cart=(Cart) session.getAttribute("cart" ); }else { cart=new Cart(); } cart=cartService.addGoodsInCart(book, number,cart); session.setAttribute("cart" ,cart); return new ModelAndView("redirect:/cartPage.do" ); } @RequestMapping("/removeGoodsFromCart") public ModelAndView removeGoodsFromCart (Integer bid,HttpSession session) { Book book=bookService.findById(bid); Cart cart=(Cart) session.getAttribute("cart" ); cart=cartService.removeGoodsFromCart(book, cart); session.setAttribute("cart" ,cart); return new ModelAndView("redirect:/cartPage.do" ); } @RequestMapping("/cleanCart") public ModelAndView cleanCart (HttpSession session) { Cart cart=null ; session.setAttribute("cart" ,cart); return new ModelAndView("redirect:/cartPage.do" ); } @ResponseBody @RequestMapping(value = "/checkStore",produces={"text/html;charset=UTF-8;","application/json;"}) public String checkStore (HttpSession session) { Cart cart =(Cart)session.getAttribute("cart" ); Map<Book, Integer> map=cart.getGoods(); Iterator<Map.Entry<Book, Integer>> iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry<Book, Integer> entry = iter.next(); Book book = entry.getKey(); Integer number = entry.getValue(); if (!bookService.checkStore(book.getBid(),number)){ return "《" +book.getBname()+"》库存不足,库存剩余:" +book.getStore(); } } return "success" ; }
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 @RequestMapping("/modifyUser") public ModelAndView manaUser (Integer uid,String userName,String password,String gender,String email,String phone,String address) { User user=new User(); user.setUid(uid); user.setUname(userName); user.setPassword(password); user.setGender(gender); user.setEmail(email); user.setPhone(phone); user.setAdress(address); userService.userModify(user); return new ModelAndView("redirect:/manaUser.do" ); } @RequestMapping("/delUser") public ModelAndView deleteUser (Integer uid) { userService.deleteById(uid); return new ModelAndView("redirect:/manaUser.do" ); } @RequestMapping("/addUser") public ModelAndView addUser (String userName,String passWord,String gender,String email,String phone,String address) { User user = new User(); user.setUname(userName); user.setPassword(passWord); user.setGender(gender); user.setEmail(email); user.setPhone(phone); user.setAdress(address); userService.addUser(user); return new ModelAndView("redirect:/manaUser.do" ); } @RequestMapping("/updateUserPage") public String updateUserPage (Model model,HttpSession session) { User sessionUser= (User) session.getAttribute("user" ); User user=userService.findUserById(sessionUser.getUid()); model.addAttribute("user" ,user); return "front/update" ; } @RequestMapping("/updateUser") public ModelAndView updateUser (Integer uid,String uname,String gender,String email,String phone,String address) { User user=new User(); user.setUid(uid); user.setUname(uname); user.setGender(gender); user.setEmail(email); user.setPhone(phone); user.setAdress(address); userService.userModify(user); return new ModelAndView("redirect:/index.do" ); }
——————————PayStart——————————
项目链接: https://javayms.github.io?id=231023580509201ee https://javayms.pages.dev?id=231023580509201ee