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





基于javaweb的SpringBoot嘟嘟二手书商城系统(java+html+springboot+maven+mysql+ajax)
管理员
admin 123456
普通用户
张三 123456
李四 123456
王五 123456
一、项目简述
功能:
主页显示商品; 所有二手书商品展示,可进行商品搜索; 点击商品进入商品详情页,具有立即购买和加入购物车功能,可增减购买商品数量亦可手动输入,热销商品展示。 立即购买进入确认订单页面,可选择已经添加的地址,亦可新增地址。 可选择购买哪些商品,可删除不需要的商品。 点击结算进入确认订单页面,确认后提交订单。
后台管理:(修改密码等),商品管理(商品批量添加、上下架等),订单管理。
二、项目运行
环境配置:
Jdk1.8 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)
项目技术:
JSP +Springboot+ SpringMVC + MyBatis + ThymeLeaf + FTP+ JavaScript + JQuery + Ajax + maven等等
——————————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
| @RestController public class CollectionController { @Autowired CollectionService collectionService;
@DeleteMapping("cancelstart") public ResultResp cancelStart(@RequestParam String userName, @RequestParam int bookId){ return collectionService.cancel(userName,bookId); }
@GetMapping("start") public ResultResp start(@RequestParam String userName, @RequestParam int bookId){ return collectionService.start(userName,bookId); }
@GetMapping("startlist") public ResultResp startList(@RequestParam String userName, @RequestParam(required = false, defaultValue = "1") int pageIndex, @RequestParam(required = false, defaultValue = "8") int pageSize){ return collectionService.startList(userName,pageIndex,pageSize); } } package com.hq.secondhand_book.controller;
|
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
| * 收藏图书 */ @GetMapping("start") public ResultResp start(@RequestParam String userName, @RequestParam int bookId){ return collectionService.start(userName,bookId); }
@GetMapping("startlist") public ResultResp startList(@RequestParam String userName, @RequestParam(required = false, defaultValue = "1") int pageIndex, @RequestParam(required = false, defaultValue = "8") int pageSize){ return collectionService.startList(userName,pageIndex,pageSize); } } package com.hq.secondhand_book.controller;
@RestController public class ReceiveAdressController { @Autowired ReceiveAdressService receiveAdressService;
@GetMapping("/getreceiveadress") public ResultResp getReceiveAdress(String userName){ return receiveAdressService.getRececiveAdress(userName); }
@PostMapping("/addreceiveadress") public ResultResp addReceiveAdress(@RequestBody ReceiveAdressDto dto){
|
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
| * @param bookId * @return */ @GetMapping("/addbook") public ResultResp addBook(@RequestParam int bookId){ return bookService.addBook(bookId); } } package com.hq.secondhand_book.util.aop;
@Aspect @Component public class HttpAspect {
protected final Logger logger = LoggerFactory.getLogger(getClass());
@Pointcut("execution(public * com.hq.secondhand_book.controller.*.*(..))") public void log() { }
@Before("log()") public void doBefore(JoinPoint joinPoint) { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest(); logger.info("url={}", request.getRequestURL()); logger.info("method={}", request.getMethod()); logger.info("class_method={}", joinPoint.getSignature().getDeclaringTypeName() + "."
|
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
| * 收藏图书列表 */ @GetMapping("startlist") public ResultResp startList(@RequestParam String userName, @RequestParam(required = false, defaultValue = "1") int pageIndex, @RequestParam(required = false, defaultValue = "8") int pageSize){ return collectionService.startList(userName,pageIndex,pageSize); } } package com.hq.secondhand_book.controller;
@RestController public class ReceiveAdressController { @Autowired ReceiveAdressService receiveAdressService;
@GetMapping("/getreceiveadress") public ResultResp getReceiveAdress(String userName){ return receiveAdressService.getRececiveAdress(userName); }
@PostMapping("/addreceiveadress") public ResultResp addReceiveAdress(@RequestBody ReceiveAdressDto dto){ return receiveAdressService.addRececiveAdress(dto); }
|
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
| @RequestParam int bookId){ return collectionService.cancel(userName,bookId); }
@GetMapping("start") public ResultResp start(@RequestParam String userName, @RequestParam int bookId){ return collectionService.start(userName,bookId); }
@GetMapping("startlist") public ResultResp startList(@RequestParam String userName, @RequestParam(required = false, defaultValue = "1") int pageIndex, @RequestParam(required = false, defaultValue = "8") int pageSize){ return collectionService.startList(userName,pageIndex,pageSize); } } package com.hq.secondhand_book.controller;
@RestController public class ReceiveAdressController { @Autowired ReceiveAdressService receiveAdressService;
@GetMapping("/getreceiveadress") public ResultResp getReceiveAdress(String userName){ return receiveAdressService.getRececiveAdress(userName); }
@PostMapping("/addreceiveadress")
|
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
|
public abstract class BaseController {
protected final Logger logger = LoggerFactory.getLogger(getClass());
@Autowired public WebApplicationContext webApplicationContext;
@Autowired protected HttpServletRequest httpServletRequest;
@Autowired protected HttpServletResponse httpServletResponse;
public HttpSession getHttpSession() { return getHttpSession(true); }
public HttpSession getHttpSession(boolean request) { return httpServletRequest.getSession(request); }
} package com.hq.secondhand_book.controller;
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=081422312105200hp
https://javayms.pages.dev?id=081422312105200hp