Java项目:网上电商项目(前后端分离+java+vue+Springboot+ssm+mysql+maven+redis)
源码获取:博客首页 "资源" 里下载!
一、项目简述
本系统功能包括: 一款基于Springboot+Vue的电商项目,前后端分离项目,前台后台都有,前台商品展示购买,购物车分类,订 单查询等等,后台商品管理,订单管理,信息维护,用户管理等等。本期源码免费,部分bug小辰已经处理完毕, 可放心下载,关注小辰哥的Java微信号,点击右下角联系我们加群即可,已发送到群文件,贡多资源优先发布微信号。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX (Webstorm也 行)+ Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts都支 持)。
项目技术: Springboot + Maven + Mybatis + Vue + Redis, B/S 模式+ Maven等等,附带支付宝沙箱环境以及支付环节代码。
订单相关业务:
/*** @description 订单相关业务*/@RestController
@CrossOrigin
public class OrderController {final OrderService orderService;final ProductService productService;final LogisticsService logisticsService;final RedisTemplate<String,String> redisTemplate;public OrderController(RedisTemplate<String,String> redisTemplate,OrderService orderService,LogisticsService logisticsService,ProductService productService) {this.orderService = orderService;this.productService = productService;this.logisticsService = logisticsService;this.redisTemplate = redisTemplate;}@RequestMapping(value = "/order/findById")private CommonResult findOrderById(Integer orderId) {Order order= orderService.selectById(orderId);if(orderId!=null){return CommonResult.success("订单信息查询成功",order);}else{return CommonResult.error("订单信息查询失败");}}@RequestMapping(value = "/order/findOrderInfo")private CommonResult findOrderInfo(String userAccount) {List<Map<String, Object>> orderMap = orderService.selectAllOrder(userAccount);if(orderMap!=null){return CommonResult.success("订单信息查询成功",orderMap);}else{return CommonResult.error("订单信息查询失败");}}@RequestMapping(value = "/order/findAll")private CommonResult findAllOrder() {List<Order> orders = orderService.selectAll();System.out.println(orders);if(orders!=null){return CommonResult.success("订单信息查询成功",orders);}else{return CommonResult.error("订单信息查询失败");}}@RequestMapping(value = "/order/findCount")private CommonResult findCount() {Integer count = orderService.selectCount();if(count!=null){return CommonResult.success("订单数量查询成功",count);}else{return CommonResult.error("订单数量查询失败");}}@RequestMapping(value = "/order/add")private CommonResult addOrder(Order order) {if(order!=null){if(order.getProductNo().contains("Vip")){if(orderService.insertData(order)){return CommonResult.success("创建订单成功",order);}else{return CommonResult.error("创建订单失败");}}else{Product product = productService.selectByKey(order.getProductNo());Integer productStock = product.getProductStock();Integer payAmount = order.getPayAmount();boolean isOk =productStock >= payAmount;if(isOk){Product newProduct = new Product();newProduct.setProductId(product.getProductId());int newStock = productStock - payAmount;newProduct.setProductStock(newStock);newProduct.setIsStockOut(newStock<product.getLowestStock());// 如果库存小于等于0,自动下架newProduct.setIsSale(newStock>0);if(productService.updateById(newProduct)){if(orderService.insertData(order)){redisTemplate.opsForValue().set(order.getOrderNo(),order.getOrderNo(),24, TimeUnit.HOURS);return CommonResult.success("创建订单成功",order);}else{return CommonResult.error("创建订单失败");}}else{return CommonResult.error("创建订单失败");}}else{return CommonResult.error("商品库存不足");}}}else{return CommonResult.error("订单数据不完整");}}@RequestMapping(value = "/order/cartOrder")private CommonResult cartOrder(String orderNo,String ordersInfo) {JSONArray jsonArray = JSON.parseArray(ordersInfo);List<Order> orders = JSONObject.parseArray(jsonArray.toJSONString(), Order.class);if(orders!=null){ArrayList<String> orderInfo = new ArrayList<>();ArrayList<String> productInfo = new ArrayList<>();for (Order order : orders) {Product product = productService.selectByKey(order.getProductNo());Integer productStock = product.getProductStock();Integer payAmount = order.getPayAmount();boolean isOk =productStock >= payAmount;if(isOk){Product newProduct = new Product();newProduct.setProductId(product.getProductId());int newStock = productStock - payAmount;newProduct.setProductStock(newStock);newProduct.setIsStockOut(newStock<product.getLowestStock());// 如果库存小于等于0,自动下架newProduct.setIsSale(newStock>0);if(productService.updateById(newProduct)){if(orderService.insertData(order)){orderInfo.add(order.getOrderNo());productInfo.add(order.getProductNo());}}}}if(orderInfo.size()!=0){String orderNoInfo = StringUtils.join(orderInfo, ",");String productNoInfo = StringUtils.join(productInfo, ",");redisTemplate.opsForValue().set(orderNo,orderNoInfo,24, TimeUnit.HOURS);return CommonResult.success("创建订单成功",productNoInfo);}else{return CommonResult.success("创建订单失败");}}else{return CommonResult.error("订单数据不完整");}}@RequestMapping(value = "/order/update")private CommonResult updateOrder(Order order) {if(orderService.updateById(order)){return CommonResult.success("修改订单成功",order);}else{return CommonResult.error("修改订单失败");}}@RequestMapping(value = "/order/delete")private CommonResult deleteOrder(Integer orderId) {if(orderService.deleteById(orderId)){return CommonResult.success("删除订单成功","订单id:"+orderId);}else{return CommonResult.error("删除订单失败");}}@RequestMapping(value = "/order/receipt")private CommonResult updateOrder(Integer orderId) {Order order = new Order();order.setOrderId(orderId);order.setOrderState("已收货");if(orderService.updateById(order)){return CommonResult.success("商品收货成功",order);}else{return CommonResult.error("商品收货失败");}}@RequestMapping(value = "/orderDetail/orderInfo")private CommonResult orderInfo(String orderNo) {ArrayList<Object> resultList = new ArrayList<>();Order order = orderService.selectByKey(orderNo);Logistics logistics = logisticsService.selectOrderNo(orderNo);if(order!=null){resultList.add(order);}if(logistics!=null){resultList.add(logistics);}if(resultList.size()!=0){return CommonResult.success("订单详情查询成功",resultList);}else{return CommonResult.error("订单详情查询失败");}}
}
数据分析,商品数量,订单数量等分析业务:
/*** @description 数据分析,商品数量,订单数量等分析业务*/
@CrossOrigin
@RestController
public class OverViewController {final OrderService orderService;final ProductService productService;final ReturnGoodsService returnGoodsService;public OverViewController(OrderService orderService,ProductService productService,ReturnGoodsService returnGoodsService) {this.orderService = orderService;this.productService = productService;this.returnGoodsService = returnGoodsService;}@RequestMapping(value = "/view/dataInfo")private CommonResult dataInfo() {Map<String, Object> resultMap = new HashMap<>();Map<String, Object> productMap = productService.productOverview();Map<String, Object> orderMap = orderService.orderOverview();Map<String, Object> returnGoodsMap = returnGoodsService.returnGoodsOverview();if(productMap!=null){resultMap.putAll(productMap);}if(orderMap!=null){resultMap.putAll(orderMap);}if(returnGoodsMap!=null){resultMap.putAll(returnGoodsMap);}if(resultMap.size()!=0){return CommonResult.success("查询成功",resultMap);}else{return CommonResult.error("查询失败");}}@RequestMapping(value = "/view/orderChartDATE")private CommonResult orderChartDATE(String startTime,String endTime) {Map<String, Object> data = new HashMap<>();List<Map<String, Object>> lineData = orderService.selectChartDATE(startTime,endTime);List<Map<String, Object>> ringData = orderService.selectProductTypeChart(startTime, endTime);Map<String, Object> countData = orderService.selectCountAndAmount(startTime,endTime);if(lineData.size()!=0){data.put("lineData",lineData);}if(ringData.size()!=0){data.put("ringData",ringData);}if(countData.size()!=0){data.put("countData",countData);}if(data.size()!=0){return CommonResult.success("查询成功",data);}else{return CommonResult.error("查询失败");}}}
商品相关业务:
/*** @description 商品相关业务*/@RestController
@CrossOrigin
public class ProductController {final ProductTypeService productTypeService;final ProductBrandService productBrandService;final ProductService productService;public ProductController(ProductService productService, ProductTypeService productTypeService,ProductBrandService productBrandService) {this.productTypeService = productTypeService;this.productBrandService = productBrandService;this.productService = productService;}/*商品类别*/@RequestMapping(value = "/product/findById")private CommonResult findById(Integer productId) {Product product = productService.selectById(productId);if(product!=null){return CommonResult.success("商品查询成功",product);}else{return CommonResult.error("商品查询失败");}}@RequestMapping(value = "/product/findByKey")private CommonResult findByKey(String productNo) {Product product = productService.selectByKey(productNo);if(product!=null){return CommonResult.success("商品查询成功",product);}else{return CommonResult.error("商品查询失败");}}@RequestMapping(value = "/product/findIdByKey")private CommonResult findIdByKey(String productNo) {Integer productId = productService.selectIdByKey(productNo);if(productId!=null){return CommonResult.success("商品id查询成功",productId);}else{return CommonResult.error("商品id查询失败");}}@RequestMapping(value = "/product/findCount")private CommonResult findCount() {Integer count = productService.selectCount();if(count!=null){return CommonResult.success("商品数量查询成功",count);}else{return CommonResult.error("商品数量查询失败");}}@RequestMapping(value = "/product/existsKey")private CommonResult existsKey(String productNo) {Boolean isExist = productService.existsWithPrimaryKey(productNo);if(isExist!=null){return CommonResult.success("商品是否存在查询成功",isExist);}else{return CommonResult.error("商品是否存在查询失败");}}@RequestMapping(value = "/product/existsType")private CommonResult existsType(String productType) {Boolean isExist = productService.existsProductType(productType);if(isExist!=null){return CommonResult.success("查询成功",isExist);}else{return CommonResult.error("查询失败");}}@RequestMapping(value = "/product/existsBrand")private CommonResult existsBrand(String productBrand) {Boolean isExist = productService.existsProductBrand(productBrand);if(isExist!=null){return CommonResult.success("查询成功",isExist);}else{return CommonResult.error("查询失败");}}@RequestMapping(value = "/product/findAll")private CommonResult findAll() {List<Product> products = productService.selectAll();if(products!=null){return CommonResult.success("全部商品信息查询成功",products);}else{return CommonResult.error("全部商品信息查询失败");}}@RequestMapping(value = "/product/findAllSale")private CommonResult findAllSale() {List<Product> products = productService.selectAllSale();if(products!=null){return CommonResult.success("全部商品信息查询成功",products);}else{return CommonResult.error("全部商品信息查询失败");}}@RequestMapping(value = "/product/findAllLikeName")private CommonResult findAllLikeName(String keyWord) {List<Product> products = productService.selectAllLikeName(keyWord);if(products!=null){return CommonResult.success("全部商品信息查询成功",products);}else{return CommonResult.error("全部商品信息查询失败");}}@RequestMapping(value = "/product/findAllLikeType")private CommonResult findAllLikeType(String keyWord) {List<Product> products = productService.selectAllLikeType(keyWord);if(products!=null){return CommonResult.success("全部商品信息查询成功",products);}else{return CommonResult.error("全部商品信息查询失败");}}@RequestMapping(value = "/product/findAllLikeBrand")private CommonResult findAllLikeBrand(String keyWord) {List<Product> products = productService.selectAllLikeBrand(keyWord);if(products!=null){return CommonResult.success("全部商品信息查询成功",products);}else{return CommonResult.error("全部商品信息查询失败");}}@RequestMapping(value = "/product/findAllByType")private CommonResult findAllByType() {List<Map<String, Object>> maps = productService.selectAllByType();if(maps!=null){return CommonResult.success("商品分类信息查询成功",maps);}else{return CommonResult.error("商品分类信息查询失败");}}@RequestMapping(value = "/product/add")private CommonResult add(Product product) {System.out.println(product);if(productService.insertData(product)){return CommonResult.success("添加商品成功",product);}else{return CommonResult.error("添加商品失败");}}@RequestMapping(value = "/product/update")private CommonResult update(Product product) {if(product.getIsNew()!=null && product.getIsNew()){product.setSaleTime(new Date());}if(productService.updateById(product)){return CommonResult.success("修改商品成功",product);}else{return CommonResult.error("修改商品失败");}}@RequestMapping(value = "/product/delete")private CommonResult delete(Integer productId) {if(productService.deleteById(productId)){return CommonResult.success("商品删除成功","productId:" + productId);}else{return CommonResult.error("商品删除失败");}}/*商品类别*/@RequestMapping(value = "/productType/add")private CommonResult addType(ProductType productType) {if(productTypeService.insertData(productType)){return CommonResult.success("商品分类添加成功",productType);}else{return CommonResult.error("商品分类添加失败");}}@RequestMapping(value = "/productType/update")private CommonResult updateType(ProductType productType) {if(productTypeService.updateById(productType)){return CommonResult.success("商品分类修改成功",productType);}else{return CommonResult.error("商品分类修改失败");}}@RequestMapping(value = "/productType/deleteById")private CommonResult deleteTypeById(Integer typeId) {if(productTypeService.deleteById(typeId)){return CommonResult.success("商品分类删除成功","typeId: "+typeId);}else{return CommonResult.error("商品分类删除失败");}}@RequestMapping(value = "/productType/deleteByName")private CommonResult deleteTypeByName(String typeName) {if(productTypeService.deleteByName(typeName)){return CommonResult.success("商品分类删除成功","typeName: "+typeName);}else{return CommonResult.error("商品分类删除失败");}}@RequestMapping(value = "/productType/existsTypeName")private CommonResult existsTypeName(Integer typeId,String typeName) {Boolean isExist = productTypeService.existsWithTypeName(typeId,typeName);if(isExist!=null){return CommonResult.success("查询成功",isExist);}else{return CommonResult.error("查询失败");}}@RequestMapping(value = "/productType/findAll")private CommonResult findAllType() {List<ProductType> productTypes = productTypeService.selectAll();if(productTypes!=null){return CommonResult.success("商品分类查询成功",productTypes);}else{return CommonResult.error("商品分类查询失败");}}@RequestMapping(value = "/productType/findAllName")private CommonResult findAllTypeName() {List<String> names = productTypeService.selectAllName();if(names!=null){return CommonResult.success("商品分类名称查询成功",names);}else{return CommonResult.error("商品分类名称查询失败");}}/*商品品牌*/@RequestMapping(value = "/productBrand/add")private CommonResult addBrand(ProductBrand productBrand) {if(productBrandService.insertData(productBrand)){return CommonResult.success("商品品牌添加成功",productBrand);}else{return CommonResult.error("商品品牌添加失败");}}@RequestMapping(value = "/productBrand/update")private CommonResult updateBrand(ProductBrand productBrand) {if(productBrandService.updateById(productBrand)){return CommonResult.success("商品品牌修改成功",productBrand);}else{return CommonResult.error("商品品牌修改失败");}}@RequestMapping(value = "/productBrand/deleteById")private CommonResult deleteBrandById(Integer brandId) {if(productBrandService.deleteById(brandId)){return CommonResult.success("商品品牌删除成功","brandId: "+brandId);}else{return CommonResult.error("商品品牌删除失败");}}@RequestMapping(value = "/productBrand/deleteByName")private CommonResult deleteBrandByName(String brandName) {if(productBrandService.deleteByName(brandName)){return CommonResult.success("商品品牌删除成功","brandName: "+brandName);}else{return CommonResult.error("商品品牌删除失败");}}@RequestMapping(value = "/productBrand/findAll")private CommonResult findAllBrand() {List<ProductBrand> productBrands = productBrandService.selectAll();if(productBrands!=null){return CommonResult.success("商品品牌查询成功",productBrands);}else{return CommonResult.error("商品品牌查询失败");}}@RequestMapping(value = "/productBrand/existsBrandName")private CommonResult existsBrandName(Integer brandId,String brandName) {Boolean isExist = productBrandService.existsWithBrandName(brandId,brandName);if(isExist!=null){return CommonResult.success("查询成功",isExist);}else{return CommonResult.error("查询失败");}}@RequestMapping(value = "/productBrand/findAllName")private CommonResult findAllBrandName() {List<String> names = productBrandService.selectAllName();if(names!=null){return CommonResult.success("商品品牌名称查询成功",names);}else{return CommonResult.error("商品品牌名称查询失败");}}
}
用户授权等相关业务:
/*** @description 用户授权等相关业务*/@RestController
@CrossOrigin
public class RoleController {final RoleService roleService;public RoleController(RoleService roleService) {this.roleService = roleService;}/*根据id查询用户*/@RequestMapping(value = "/role/findById")private CommonResult findById(Integer roleId) {Role role = roleService.selectById(roleId);if(role!=null){return CommonResult.success("查询成功",role);}else{return CommonResult.error("查询失败");}}/*根据角色名称查询角色*/@RequestMapping(value = "/role/findByKey")private CommonResult findByKey(String roleName) {Role role = roleService.selectByKey(roleName);if(role!=null){return CommonResult.success("查询成功",role);}else{return CommonResult.error("查询失败");}}/*根据key查询用户*/@RequestMapping(value = "/role/existRoleName")private CommonResult existRoleName(Integer roleId,String roleName) {Boolean isExist = roleService.existsRoleName(roleId,roleName);if(isExist!=null){return CommonResult.success("查询成功",isExist);}else{return CommonResult.error("查询失败");}}/*查询所有角色信息*/@RequestMapping(value = "/role/findAll")private CommonResult findAll() {List<Role> roles = roleService.selectAll();if(roles!=null){return CommonResult.success("查询成功",roles);}else{return CommonResult.error("查询失败");}}/*查询所有用户*/@RequestMapping(value = "/role/findAllUsable")private CommonResult findAllUsable() {List<Role> roles = roleService.selectAllUsable();if(roles!=null){return CommonResult.success("查询成功",roles);}else{return CommonResult.error("查询失败");}}@RequestMapping(value = "/role/count")private CommonResult findCount() {Integer count = roleService.selectCount();if(count!=null){return CommonResult.success("查询成功",count);}else{return CommonResult.error("查询失败");}}@RequestMapping(value = "/role/findIdByKey")private CommonResult findIdByKey(String key) {Integer id = roleService.selectIdByKey(key);if(id!=null){return CommonResult.success("查询成功","id: "+id);}else{return CommonResult.error("查询失败");}}@RequestMapping(value = "/role/add")private CommonResult add(Role role) {if(role!=null){if(roleService.insertData(role)){return CommonResult.success("添加成功",role);}else{return CommonResult.error("添加失败");}}return CommonResult.error("用户数据不存在");}@RequestMapping(value = "/role/update")private CommonResult update(Role role) {System.out.println(role);if(roleService.updateById(role)){return CommonResult.success("更新成功",role);}else{return CommonResult.error("更新失败");}}@RequestMapping(value = "/role/delete")private CommonResult delete(Integer roleId) {if(roleService.deleteById(roleId)){return CommonResult.success("删除成功",roleId);}else{return CommonResult.error("删除失败");}}
}
源码获取:博客首页 "资源" 里下载!
相关文章:

3月7日 ArrayList集合
ArrayList与数组的区别: 数组是连续的、同一类型数据的一块区域,而集合可以是不连续的、多种数据类型的。 1.ArrayList ArrayList al new ArrayList(); al.Add(3); al.Add(5.09); al.Add("gfdg"); al.Inse…

什么时候出生好?
从年龄来说,女人头一胎的怀孕时间最好在35岁以前,因为过了35岁后不孕和头胎生育缺陷的比例会大幅度升高。那么,从孩子的角度,什么时候出生好?很多人不考虑这个问题,能不能怀上还难说那。迷信的人则追求出生…

数据库搜索与索引
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。 索引的一个主要目的就是加快检索表中数据&#x…

Clion 远程开发 配置
文章目录1. 增加远端服务工具2. 配置远端服务器3. 配置编译选项4. 设置远端开发路径Clion作为C/C语言友好的IDE,除了高效的代码索引 以及 基本的本地开发 能力之外还需要有远程开发能力,即我们工作中的代码处于远端linux服务器之上,通过在本地…

Java项目:朴素风个人博客系统(前后端分离+java+vue+Springboot+ssm+mysql+maven+redis)
源码获取:博客首页 "资源" 里下载! 一、项目简述 本系统功能包括: 基于vue Springboo痼J后端分离项目个人博客系统,注册 登录,首页展示,喜爰图书展示,后台图书维护,个人…

NodeJS+Mongodb+Express做CMS博客系统
楼主正在用业余时间开发中…… ,目前的版本仅支持会员系统,尝鲜一下吧~ hi-blog 一个 nodejsexpressmongodb 的 cms 系统怎么启动 默认你已经安装了 mongodb ;那么你得这样操作:安装项目 -> 初始化管理员 -> 运行项目 1、请…

Piranha实验总结
操作系统:rhel5.8分别在DirectorMaster和DirectorBackup上部署浮动资源(VIP IPVS策略)测试2个Director在DR模式下是否都可以正常工作。测试完成后都撤掉浮动资源。DirectorMaster[rootlocalhost ~]#yum install piranha[rootlocalhost ~]#piranha-passwdNew Passwor…

虚IP切换原理
高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的…

vim 键盘宏操作 -- 大道至简
最近利用vim做一些文本处理时 发现vim 支持的键盘宏是一个好东西啊,高效优雅得处理大量需要重复性操作的文本,让人爱不释手!!! 希望接下来对键盘宏的分享能够实际帮助到大家。 后文中描述的一些vim操作会汇集成指令字…

Java项目:家居购物商城系统(java+html+jdbc+mysql)
源码获取:博客首页 "资源" 里下载! 一、项目简述 功能: Java Web精品项目源码,家居商城分类展示,商品展示, 商品下单,购物车,个人中心,后台管理,用…

leetcode:Search in Rotated Sorted Array
题目要求: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2). You are given a target value to search. If found in the array return its index, otherwise return -1. You may a…
解决Debian-7.1下Chrome浏览器字体难看的问题
首先在 Advance Setting 的 font 标签页下做如下配置: 然后在用户目录下创建 .fonts.conf 文件,内容如下: <?xml version1.0?> <!DOCTYPE fontconfig SYSTEM fonts.dtd> <fontconfig><match target"font"&g…

HDU.4903.The only survival(组合 计数)
题目链接 惊了 \(Description\) 给定\(n,k,L\),表示,有一张\(n\)个点的无向完全图,每条边的边权在\([1,L]\)之间。求有多少张无向完全图满足,\(1\)到\(n\)的最短路为\(k\)。\(n,k\leq 12,\ L\leq10^9\)。 \(Solution\) 考虑暴力&a…

Rocksdb 写入数据后 GetApproximateSizes 获取的大小竟然为0?
项目开发中需要从引擎 获取一定范围的数据大小,用作打点上报,测试过程中竟然发现写入了一部分数据之后通过GetApproximateSizes 获取写入的key的范围时取出来的数据大小竟然为0。。。难道发现了一个bug?(欣喜) 因为写入的数据是…

Java项目:在线婚纱摄影预定系统(java+javaweb+SSM+springboot+mysql)
源码获取:博客首页 "资源" 里下载! 一、项目简述 功能: 前后用户的登录注册,婚纱照片分类,查看,摄影师预 订,后台订单管理,图片管理等等。 二、项目运行 环境配置&am…

Linux Terminal 控制终端的使用
1. Open new Terminal:Ctrl Alt T 或者 Ctrl Shift N 2. Open Tab:Ctrl Shift T 3. Close Tab:Ctrl Shift W 4. Close Window:Ctrl Shift Q 5. Copy : Ctrl Shift C 6. Paste: Ctrl Shift V 7. Full Screen: F11 8.…

如何防止代码腐烂
http://blog.jobbole.com/5643/ 很多团队都有这个问题,一个项目的代码本来开始设计得好好的,一段时间以后,代码就会变得难以理解,难以维护,难以修改。为什么?我一直在思考这个问题。 让我们先看一个人的情况…

CORS在Spring中的实现
CORS: 通常情况下浏览器禁止AJAX从外部获取资源,因此就衍生了CORS这一标准体系,来实现跨域请求。 CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。它允许浏览器向跨源(协议 域名…

从BloomFilter到Counter BloomFilter
文章目录前言1. Traditional BloomFilter2. Counter BloomFilter本文traditional bloomfilter 和 counter bloomfilter的C实现 均已上传至: https://github.com/BaronStack/BloomFilter 前言 Bloomfilter 是一个老生常谈的数据结构,应用在存储领域的各…

进程、线程、多线程相关总结
进程、线程、多线程相关总结 一、说说概念 1、进程(process) 狭义定义:进程就是一段程序的执行过程。 广义定义:进程是一个程序关于某个数据集合的一次运行。它是操作系统动态执行的基本单元,在传统的操作系统中&#…

Java项目:在线蛋糕商城系统(java+jsp+jdbc+mysql)
源码获取:博客首页 "资源" 里下载! 一、项目简述 功能: 主页显示热销商品;所有蛋糕商品展示,可进行商品搜 索;点击商品进入商品详情页,具有立即购买和加入购物 车功能,可…

业界对生成图片缩略图的做法归纳
网站如果有很多用户上传图片(相册,商品图片),一般的做法是将用户图片保存在磁盘上面(数据库中记录图片的地址)。用户上传的时候按照原图、中图、小图等各个尺寸都生成一份保存在磁盘上。比如php的网店系统echsop就是这么做的,而shopex之类也大…

thinkPHP5.0 URL路由优化
在tp中访问页面的时候URL地址是 域名/模块/控制器/方法,在点击首页的时候URL是 域名/index/index/index 而不是只显示域名,这样不利于SEO,而且强迫症的我看着很不爽,这个时候我们需要优化路由 Route::rule(路由表达式,路由地址,请…

Rocksdb 获取当前db内部的有效key个数 (估值)
文章目录1. 基本接口2. Memtable key个数统计3. Immutable Memtable key个数统计4. Sstables key个数统计5. 疑问Rocksdb因为是AppendOnly 方式写入,所以没有办法提供db内部唯一key个数的接口(可能存在多版本的key,对用户来说只有一个userkey…

Java项目:网上花店商城系统(java+jsp+servlert+mysql+ajax)
源码获取:博客首页 "资源" 里下载! 一、项目简述 功能: 一套完整的网上花店商场系统,系统支持前台会员的注册 登陆系统留言,花朵的品种选择,详情浏览,加入购物 车,购买花…

使用Uboot启动内核并挂载NFS根文件系统
配置编译好内核之后,将生成的内核文件uImage拷贝到/tftpboot/下,通过tftp服务器将内核下载到开发板,使用命令:tftp 31000000 uImage.下载完成之后配置bootargs环境变量:setenv bootargs noinitrd consolettySAC0,11520…

Centos系统上安装php遇到的错误解决方法集锦
Centos系统上安装php遇到的错误解决方法集锦1.configure: error: xml2-config not found. Please check your libxml2 installationyum install libxml2 libxml2-devel2.configure: error: Cannot find OpenSSL’s yum install openssl openssl-devel3.configure: error: Pleas…

2.27 MapReduce Shuffle过程如何在Job中进行设置
一、shuffle过程 总的来说: *分区 partitioner*排序 sort*copy (用户无法干涉) 拷贝*分组 group可设置 *压缩 compress*combiner map task端的Reduce二、示例 package com.ibeifeng.hadoop.senior.mapreduce;import java.io.IOException; import java.util.StringTo…

Rocksdb Slice使用中的一个小坑
本文记录一下使用Rocksdb Slice过程中的一个小小坑,差点没一口老血吐出来。 rocksdb的Slice 数据结构是一个小型得不可变类string数据结构,设计出来的目的是为了保证rocksdb内部处理用户输入的key在从内存到持久化磁盘的整个处理链路是不会被修改的&…

Java项目:仿天猫网上商城项目(java+jsp+servlet+mysql+ajax)
源码获取:博客首页 "资源" 里下载! 一、项目简述 功能: 前台: * 用户模块 * 分类模块 * 商品模块 * 购物车模块 * 订单模块 后台: * 管理员模块 * 分类管理模块 * 商品管理模块 * 订单模块…