B2C购物商城---MMALL商城概览

article/2025/10/31 5:08:54

这里写图片描述

注意:

  • 商品小图原图缺失后续上传到图片服务器。不影响使用
  • 支付宝二维码是支付宝沙箱开发环境生成,不会产生真实交易,若需体验,请下载支付宝沙箱版扫描体验
  • 项目仍需优化

本项目的完成参考了慕课网happymmall的设计
项目源码在:https://github.com/LiuKay/mmall-kay-Java
前端地址在:https://github.com/LiuKay/mmall-kay-js

涉及技术栈

Linux、Nginx、Mysql、Git、Maven、Java、Spring、SpringMVC、Mybatis

项目分支

  • master 发布版本

  • v1.0 单服务器 + FTP文件服务器

    主要技术:SSM/Guava/Jackson/Joda/注解

  • v2.0 Tomcat集群+Nginx负载均衡+Redis分布式

    在V1.0基础上进行迭代重构,主要技术Redis 、Spring Schedule、Tomcat集群、Nginx负载均衡

具体请查看对应分支详细源码,commit 提交记录可查看迭代过程及核心技术。

附本人画的一张功能清单接口思维导图:
这里写图片描述

v1.0 单服务架构

这里写图片描述

v2.0 Tomcat集群+Nginx负载均衡+Redis分布式
这里写图片描述

分散技术点总结

  1. 高可用的响应对象ServerResponse编写,实现自己的
  2. 越权访问的问题:横向越权和纵向越权
  3. Guava Cache的简单使用(LoadingCache实现了ConcurrentMap接口)
  4. 忘记密码重置密码时要回答对问题,返回一个token,拿token重置密码
  5. FTP服务对接
  6. SpringMVC文件上传
  7. Properties配置文件读取
  8. joda-time编写日期格式工具
  9. mybatis-pagehelper使用
  10. mybatis批量插入,主键生成
  11. Jackson 序列化json的工具类封装
  12. 分布式Session管理:原生实现与Spring Session原理
  13. SpringMVC 全局异常处理
  14. SpringMVC 拦截器处理权限与判断登录
  15. Spring Schedule 定时任务
  16. Redis分布式锁实现原理
  17. 一致性哈希原理,Redis客户端分片ShardedJedis
  18. Nginx 静态资源映射,反向代理配置
  19. 阿里云线上项目自动化部署


http://chatgpt.dhexx.cn/article/Ip12Rc8O.shtml

相关文章

MMall项目完整分析总结

Linux服务器 线上环境: 1.jdk 2.vsftpd 3.nginx 4.mysql 5.tomcat 6.git 7.maven 8.Redis 项目采用Tomcat集群方式: 在此架构图中,nginx使用的是轮询的负载均衡策略。session不交给tomcat自己管理,已经交由左侧的redis分布式…

python flask-sqlalchemy flask-marshmallow基本使用

首先安装 pip install marshmallow-sqlalchemy pip install flask-sqlalchemy pip install flask-marshmallow 参考 sqlalchemy query 官网 app.py文件内容 from flask import Flask,jsonify import config from flask_sqlalchemy import SQLAlchemy from flask_marshmallow i…

Flask_使用flask_marshmallow序列化数据

代码如下: from flask import Flask from flask_marshmallow import Marshmallow from flask_sqlalchemy import SQLAlchemy from marshmallow import fieldsapp Flask(__name__) app.config["SQLALCHEMY_DATABASE_URI"] "mysqlpymysql://root:12…

【Python】Marshmallow:Python中的“棉花糖”

博主:👍不许代码码上红 欢迎:🐋点赞、收藏、关注、评论。 文章目录 一、Marshmallow简介1.1、基础概念 二、序列化2.1、User类2.2、UserSchema类2.3、Serializing(序列化)2.4、运行2.5、过滤输出 三、反序列化四、验证数据4.1、V…

marshmallow——简介

一、marshmallow简介 在marshmallow诞生之前,已经有很多优秀的模块来用于数据的格式化和数据校验中。 因此书写mashmallow这个库的作者受这些库的启发,例如Django REST Framework, Flask-RESTful, 和colander这些。他同样从这些库中大量借用了设计和实现序列化、反序列化以及…

flask---》Marshmallow介绍及基础使用

0. Marshmallow背景介绍 介绍 Marshmallow,中文译作:棉花糖。是一个轻量级的数据格式转换的模块,也叫序列化和反序列化模块,常用于将复杂的orm模型对象与python原生数据类型之间相互转换。一般用于flaskmarshmallow提供了丰富的…

YApi接口平台-接口挡板

YApi是一个开源的平台,官方平台链接,如下https://hellosean1025.github.io/yapi/index.html,目前很多大公司在使用,主要优势我认为有2个,第一该平台开源,搭建方便;第二该平台解决了前后端分离开发的痛点&am…

open source HTML 5移动应用 -Exlive 人员定位客户端(BlackBerry 10, Android, iPhone)

下图是exlive人员定位系统的宣传页,其官方主站在这里 www.exlive.cn 下图是BlackBerry OS 7.0上面的运行效果,更多截图见这里 http://blog.csdn.net/berryreload/article/details/8099674 Update: Remove BlackBerry OS 7.0支持 升级到PhoneGap 3.0&…

My BlackBerry

什么是黑莓 RIM公司成立于1984年。 黑莓手机(Blackberry),是指由加拿大Reserach In Motion(RIM)公司推出的一种无线手持邮件解决终端设备,也就是我们平时称的手机。 2013年1月30日,RIM公司今…

解决联网下载服务端返回405问题

最近遇到了一个问题,在项目中有一个启动页广告图片下载的功能,之前能够正常下载,由于这个版本遇到了运营商DNS劫持的问题,服务端要调整图片的下载路径,也就是改变了图片的链接地址。修改地址之后下载就出现异常了&…

IIS 405 Method Not Allowed

今天将项目发布到IIS上后,发现Delete方法用不了,可进行如下设置: 打开处理程序映射 找到WebDAV点击请求限制,勾选全部谓词 这个方法如果无效的话 方法二:因为是WebDAVModule限制的请求,所以直接将WebDAV…

前端请求接口时报405错误

他说方法不存在 他的问题所在就是没有找到后端对应的接口 意思就是说没有找到我后端put这个对应的接口 我记得写了不知道为啥没了纳闷

IIS put请求 报HTTP Error 405 - Method Not Allowed

在新的服务器上部署了一个.net core的项目,部分请求地址使用了put、delete方式,导致无法正常请求,报Error 405 - Method Not Allowed。 由于配置IIS时把“WebDAV 发布”给勾选了,所以会导致拦截。 服务器和IIS 10配置如下图&…

405 Method Not Allowed 解决方案

背景描述 前端发送请求到后端,可是经过swagger测试,后端接口是没问题的 可是一旦调用就发生405报错 解决方案 一般这种情况发生是因为前后端请求方式不一致 写在前端的接口声明方式是post 我们来看后端 很明显了,后端是get,因…

405 Method Not Allowed(亲测,实用)

今天在发布一个网站的时候遇到 标题上的问题,一直不明白是为何,刚开始以为是我的程序写的有问题,随即将项目发给同事来发布试试,在他的IIS上发布却没出现问题,一切正常,这可就怪了,于是想到了应…

宝塔面板数据库出现405 Not Allowed 错误的原因和解决办法

我们在网站建设和网站维护过程中,除了云服务器需要小心维护之外,还要应对突然出现的一些问题,比如今天网站突然打不开了,根据页面提示,貌似是数据库的原因,于是登录宝塔面板,想要看看数据库怎么…

浏览器页面报错405!

首先看浏览器的报错页面 后端控制台正常 可以明显的看出是因为我们提交的method是不被允许的,这就说明是我们的 请求方式的问题,常见的请求方式有 post,get.大家如果不知道自己默认的请求方式是get或者post,我们可以在继承HttpServlet的时候继承doGet(),…

html405是什么错误,网站打开显示405错误信息如何解决?

当我们打开网页时候,会显示404,405,500等报错信息,下面海站格给大家介绍常见的405报错时的处理方法: IIS 返回 405 - 不允许用于访问此页的 HTTP 谓词。终极解决办法!!!! 1、为什么会出现这个错误? 我们可以理解为在当前IIS服务器上&#xf…

一款ModbusRTU/TCP485串口协议调试软件工具绿色版免安装

软件的界面如下: 支持modbus设备的读写操作,把设备地址、功能码、寄存器地址、寄存器个数都显示出来了,浅析易懂,很适合初学者和工程师对modbus设备进行调试、测试。 一款好用的modbus调试大师助手软件工具操作演示,…