这个项目涉及到Shiro整合JWT、秒杀功能所具备的基本要求(限流、乐观锁、接口隐藏、JMeter高并发测试等等)、消息中间件RabbitMQ的异步邮件通知和死信队列、沙箱支付宝模拟支付等等技术亮点。

项目功能:该项目分为买家、卖家、管理员三个角色。买家角色的功能:登录、注册、浏览图书、管理购物车、结算订单、支付订单、查看订单、修改个人信息等等功能。
卖家角色的功能:登录、注册、浏览商品、管理自己发布的图书、管理收到的订单、查看自己的收益详情等等。管理员角色的功能:登录、管理所有用户信息、管理权限信息、管理所有卖家发布的图书、管理所有订单信息、管理所有支付信息、查看总共收益详情等等。
应用技术:SSM + Jsp + MySQL + Redis + JWT + Shiro + RabbitMQ + EasyUI + 沙箱支付宝 + 令牌桶限流 + 乐观锁等等

运行环境:Eclipse/IntelliJ IDEA + MySQL5.7 + Maven3.6.3+ JDK1.8 + Redis5.0.5+ Tomcat8.5 + RabbitMQ3.7.7




适用

课程设计,大作业,毕业设计,项目练习,学习演示等

        userDTO.setZipCode(loginUser.getZipCode());if (buyNowCart != null) {BSResult bsResult = orderService.createOrder(buyNowCart, userDTO, express, payMethod);if (bsResult.getCode() == 200) {request.setAttribute("order", bsResult.getData());cartService.clearCart(request, "buyNowCart");return "payment";} else {request.setAttribute("exception", bsResult.getMessage());return "exception";}}//普通购物车
            model.addAttribute("exception", bsResult.getMessage());return "exception";}}
}
购物车管理控制层:
@Controller
@RequestMapping("/cart")
public class CartController {@Autowiredprivate IBookInfoService bookInfoService;@Autowiredprivate ICartService cartService;//返回购物差页面@GetMapping("/items")public String showCart() {return "cart";}/*** 加入购物车** @param bookId* @param request
     * @param request* @return*/@GetMapping("/info")public String orderInfo(@RequestParam(required = false, defaultValue = "0") int bookId,@RequestParam(required = false, defaultValue = "0") int buyNum,HttpServletRequest request) throws BSException {if (bookId != 0) {//点了立即购买,放到request域中,也session的立即购买域中以区分购物车中的书籍BookInfo bookInfo = bookInfoService.findById(bookId);if (bookInfo != null) {BSResult bsResult = cartService.addToCart(bookInfo, null, buyNum);request.getSession().setAttribute("buyNowCart", bsResult.getData());request.setAttribute("cart", bsResult.getData());return "order_info";} else {request.setAttribute("exception", "不好意思,书籍库存不足或不存在了!");return "exception";}}//没有点立即购买,购物车中的总金额大于0才让填写订单信息Cart cart = (Cart) request.getSession().getAttribute("cart");if (cart != null && cart.getTotal() > 0) {return "order_info";} else {return "cart";}
                return "payment";} else {request.setAttribute("exception", bsResult.getMessage());return "exception";}}//普通购物车Cart cart = (Cart) request.getSession().getAttribute("cart");if (cart != null) {BSResult bsResult = orderService.createOrder(cart, userDTO, express, payMethod);if (bsResult.getCode() == 200) {request.setAttribute("order", bsResult.getData());cartService.clearCart(request, "cart");return "payment";} else {request.setAttribute("exception", bsResult.getMessage());return "exception";}} else {
        return "addcart";}@GetMapping("/clear")public String clearCart(HttpServletRequest request) {cartService.clearCart(request,"cart");return "cart";}@GetMapping("/deletion/{bookId}")public String deleteCartItem(@PathVariable("bookId") int bookId,HttpServletRequest request){cartService.deleteCartItem(bookId, request);return "redirect:/cart/items";}/*** 更新某个购物车项的购买数量* @param bookId
    @Autowiredprivate ICartService cartService;@Autowiredprivate IBookInfoService bookInfoService;/*** 填写订单信息页面** @param bookId* @param buyNum* @param request* @return*/@GetMapping("/info")public String orderInfo(@RequestParam(required = false, defaultValue = "0") int bookId,@RequestParam(required = false, defaultValue = "0") int buyNum,HttpServletRequest request) throws BSException {if (bookId != 0) {//点了立即购买,放到request域中,也session的立即购买域中以区分购物车中的书籍
    private ICartService cartService;//返回购物差页面@GetMapping("/items")public String showCart() {return "cart";}/*** 加入购物车** @param bookId* @param request* @return*/@RequestMapping("/addition")public String addToCart(@RequestParam(value = "bookId",defaultValue = "0") int bookId,@RequestParam(required = false,defaultValue = "0") int buyNum,HttpServletRequest request) {Cart cart = (Cart) request.getSession().getAttribute("cart");//根据要加入购物车的bookId查询bookInfoBookInfo bookInfo = bookInfoService.queryBookAvailable(bookId);if (bookInfo != null) {
        return "exception";}@RequestMapping("/deletion/{orderId}")public String deletion(@PathVariable("orderId") String orderId) {BSResult bsResult = orderService.deleteOrder(orderId);if (bsResult.getCode() == 200) {return "redirect:/order/list";}return "exception";}/*** 订单列表*
        }}/*** 确认收货** @param orderId* @return*/@RequestMapping("/confirm/{orderId}")public String confirmReceiving(@PathVariable("orderId") String orderId, Model model) {BSResult bsResult = orderService.confirmReceiving(orderId);if (bsResult.getCode() == 200) {return "redirect:/order/list";} else {model.addAttribute("exception", bsResult.getMessage());
            BSResult bsResult = orderService.createOrder(cart, userDTO, express, payMethod);if (bsResult.getCode() == 200) {request.setAttribute("order", bsResult.getData());cartService.clearCart(request, "cart");return "payment";} else {request.setAttribute("exception", bsResult.getMessage());return "exception";}} else {request.setAttribute("exception", "购物车为空!");return "exception";}}/*** 确认收货** @param orderId* @return*/@RequestMapping("/confirm/{orderId}")public String confirmReceiving(@PathVariable("orderId") String orderId, Model model) {BSResult bsResult = orderService.confirmReceiving(orderId);if (bsResult.getCode() == 200) {
public class CartController {@Autowiredprivate IBookInfoService bookInfoService;@Autowiredprivate ICartService cartService;//返回购物差页面@GetMapping("/items")public String showCart() {return "cart";}/*** 加入购物车** @param bookId* @param request* @return

基于javaweb+mysql的网上图书商城网上书店(java+SSM+Jsp+MySQL+Redis+JWT+Shiro+RabbitMQ+EasyUI)相关推荐

  1. 基于javaweb的业主+物业相结合小区物业管理系统(java+ssm+jsp+mysql)

    基于javaweb的业主+物业相结合小区物业管理系统(java+ssm+jsp+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myec ...

  2. 基于javaweb的网上图书商城系统(java+ssm+jsp+mysql+redis+jwt+shiro+rabbitmq+easyui)

    基于javaweb的网上图书商城系统(java+ssm+jsp+mysql+redis+jwt+shiro+rabbitmq+easyui) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥ ...

  3. Java项目:网上图书商城系统(java+SSM+Jsp+MySQL+Redis+JWT+Shiro+RabbitMQ+EasyUI)

    源码获取:博客首页 "资源" 里下载! 这个项目涉及到Shiro整合JWT.秒杀功能所具备的基本要求(限流.乐观锁.接口隐藏.JMeter高并发测试等等).消息中间件RabbitM ...

  4. 基于javaweb的餐厅点餐收银管理系统(java+ssm+jsp+bootstrap+mysql)

    基于javaweb的餐厅点餐收银管理系统(java+ssm+jsp+bootstrap+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/ ...

  5. 基于javaweb的水果店商城超市系统(java+ssm+jsp+ajax+jquery+mysql)

    基于javaweb的水果店商城超市系统(java+ssm+jsp+ajax+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea ...

  6. springboot毕设项目:网上图书商城q3ulr(java+VUE+Mybatis+Maven+Mysql)

    springboot毕设项目:网上图书商城q3ulr(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBu ...

  7. springboot毕设项目网上图书商城q3ulr(java+VUE+Mybatis+Maven+Mysql)

    springboot毕设项目网上图书商城q3ulr(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBui ...

  8. 基于javaweb的零食商城系统(java+ssm+jsp+mysql+easyui)

    基于javaweb的零食商城系统(java+ssm+jsp+mysql+easyui) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclip ...

  9. 基于javaweb+jsp的零食商城系统(java+SSM+jsp+MySQL+EasyUI)

    基于javaweb+jsp的零食商城系统(java+SSM+jsp+MySQL+EasyUI) 系统主要实现的功能有:用户浏览商品.加入商品到购物车.登录注册.提交订单,会员中心修改个人信息.查看订单 ...

最新文章

  1. day16-筛选器以及Tab菜单示例
  2. 《自写原创程序,让vim运行c/c++》
  3. python 同步 互斥 信号量 锁 简介
  4. 更适合程序员使用的Vim配置 显示行号 语法高亮 智能缩进
  5. connection timed out是什么意思_Java 中的内存溢出和内存泄露是什么?我给你举个有味道的例子...
  6. PHP算法向数组的头插入带键的元素
  7. php xmlreader 读xml,PHP中使用xmlreader读取xml数据示例
  8. java 线程 单例_多线程单例模式
  9. Netty工作笔记0004---BIO简介,介绍说明
  10. Web Application Projects的一个问题
  11. Openlayer通过wms请求geoserver加载慢
  12. windows补丁下载地址
  13. 企业网络安全 8 条实用参考
  14. 一分钟教会你固态硬盘数据恢复方法
  15. c语言 虚拟示波器软件下载,虚拟示波器软件(示波器工具)V3.1 官方版
  16. 处理行内元素行内块元素中间空隙
  17. PC端微信的文件夹都是些什么
  18. 计算机10秒后重新启动,电脑主机开机几秒或者几十秒自动断电关机
  19. 如何在Mac上安全的下载BT
  20. win10商店打不开_win10自带的照片查看器打不开的修复方法

热门文章

  1. 在线问答与学科管理系统
  2. 论文笔记--(HRNet)用于人类姿势估计的深度高分辨率表征学习(Deep High-Resolution Representation Learning for Human Pose Estima)
  3. ClearType检索方法
  4. 【转载】海蜘蛛软路由安装及设置
  5. 顶尖数据恢复软件官方正式版
  6. Windows 无法验证此设备所需的驱动程序的数字签名
  7. DX11小知识1-Direct 3D
  8. COOX基础培训之DiagTool
  9. IE阻止了此网站安装ActiveX控件
  10. 新年快乐|202112-月度总结