自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 140-商城业务-认证服务-一篇文章带你解决单点登录+流程演示+源码提供

1.什么是单点登录SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统实现方式,下面摘录自百度百科,可能大家对cookie与session都不明白什么意思,下面我简单介绍下cookie:是本次实现单点登录的核心参与人员,它通常是保存在内存中的,有失效性,有域名关联,在浏览器f12能看到这里就是2.简要单点登录系统 体验(1)配置域名映射(2)访问客户端1跳转到认证服务器,填写用户信息后进行认证(3)认证成功后成功跳转到..

2021-04-30 22:27:02 269 1

原创 139-商城业务-认证服务-SpringSession原理

简而言之就是利用了装饰者模式在过滤器中把原生的request与response替换了,session都是要通过request.getSession()来获取的,利用这点把request包装类中getSession重写了,改成从redisRepository里面取,然后过期时间自动续期也实现了,比如过期时间为30分钟,那么浏览器开着时会自动需求,浏览器关闭后30分钟后过期点进注解,一层层看代码,主要代码为如下三处...

2021-04-27 16:44:28 208

原创 138-商城业务-认证服务-SpringSession整合+序列化方式修改+自定义SpringSession完成子域session共享

看完下面内容你会发现全篇做的事其实下面一句话就说完了,你只需要完成下面这几个步骤,并且页面跨域跳转时成功显示了session内的内容那么就成功了添加依赖 添加配置 启动类加注解 代码给session内添加数据 实体类序列化注解添加页面通过session获取登录用户名1.添加依赖 <dependency> <groupId>org.springframework.session</groupId> ...

2021-04-27 12:53:37 548

原创 137-商城业务-认证服务-分布式session不共享不同步问题与最终解决方案得出

1.cookie与session是个啥?数据格式:键值对保存位置:Session信息是存放在server端,但session id是存放在client cookie的Cookie是完全保持在客户端的如:IE firefox 当客户端禁止cookie时将不能再使用生命周期:两者最大的区别在于生存周期,一个是IE启动到IE关闭.(浏览器页面一关 ,session就消失了),一个是预先设置的生存周期,或永久的保存于本地的文件。(cookie)举例:比如我登录CSDN,第一次登录时通过用

2021-04-26 14:22:34 237

原创 136-商城业务-认证服务-账号密码登录完成

1.大致流程登录跟之前注册的代码差不多登录大致流程就是修改表单,添加name与表单提交地址,认证服务后台封装vo获取后调用member服务内的登录功能 service的登录方法内先 根据用户名或者手机号获取密码,使用md5的matches方法比较,如果密码相同则登录成功跳转到首页,如果不同 则把报错信息带回登录页显示因为跟上一篇注册的代码结构基本差不多,所以这里代码就不贴了2.报错期间授权服务启动时 报了一个错,bean重复了才发现注册跟登录服务接口都是调的memb...

2021-04-26 11:07:56 257

原创 135-商城业务-认证服务-注册功能整体实现

这里完成主体功能,省略部分细节了,比如对手机号与用户名的重复校验,后面赶着面试,得做快点1.前端注册表单核心代码 <form method="post" action="/regist" class="one"> <div class="register-box"> <label class="username_label">用 户 名 <input maxlength="20" name="userName" type.

2021-04-25 00:01:47 191

原创 134-商城业务-认证服务-MD5盐值加密

1.概念2.用法加密encode,解密decode相当于给你封装好了 同样的密码可能撒不同的盐值,但是解密后依然还是相同的原密码 BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder(); String encodePassword = bCryptPasswordEncoder.encode(memberRegistVo.getPassword()); ..

2021-04-24 23:48:26 151

原创 133-商城业务-认证服务-验证码防刷校验

1.auth服务引入redis依赖2.添加redis主机与端口的配置端口默认为63793.添加验证码前缀4.添加验证码刷新频率异常5.后端代码6.前端代码7.发送短信直接在通过feign调用第三方服务中打印或者存到redis中算了这样来测试,就不用真实的验证码短信服务了...

2021-04-20 22:47:22 1271

原创 day130-商城业务-商品详情-异步编排优化

1.配置线程池一般的应用整一个线程池就够了,有可能根据业务还是啥的整俩三个,这里我们整一个,直接bean注入使其可配置package com.atguigu.gulimall.product.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import java.util.concurrent.Exec

2021-04-20 16:46:35 213

原创 day129-商城业务-商品详情-详情页渲染

<!DOCTYPE html ><html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" type="text/css" href="/static/item/scss/shop.css" /> <link rel="stylesh.

2021-04-19 23:55:14 372

原创 day128-商城业务-商品详情-销售属性组合

1.sql母的是查出某spu下所有销售属性的组合SELECT ssav.`attr_id`,ssav.`attr_name`, GROUP_CONCAT( DISTINCT ssav.attr_value)FROM pms_sku_info siLEFT JOIN pms_sku_sale_attr_value ssav ON ssav.`sku_id` = si.`sku_id`WHERE si.`spu_id` = 3 GROUP BY ssav.`attr_id`,ssav.`a

2021-04-19 17:25:36 421

原创 day126-商城业务-商品详情-规格参数获取

1.规格参数是啥就是我们之前封装的属性分组里的属性,我们现在一组一组给他获取出来2.sql根据三级分类与spuId查出属性分组与对应属性的相关信息SELECT pav.`spu_id`,ag.`attr_group_id`,ag.`attr_group_name`,ag.`catelog_id`,a.`attr_id`,a.`attr_name`,pav.`attr_value` FROM pms_attr_group ag LEFT JOIN pms_attr_attrgro...

2021-04-19 16:33:58 277

原创 day125-商城业务-商品详情-模型抽取

1.因为skuId是路径中获取的所以添加注解如下2.商品详情模型的封装package com.atguigu.gulimall.product.vo;import com.atguigu.gulimall.product.entity.SkuImagesEntity;import com.atguigu.gulimall.product.entity.SkuInfoEntity;import com.atguigu.gulimall.product.entity.SpuI...

2021-04-19 09:59:53 265

原创 day124-商城业务-商品详情-环境搭建

还是老样子,还是那几步1.添加域名映射2.网关中添加配置3.把详情页复制到product模块中,然后改名为item,html4.动静分离nginx放前端文件的地方创建item文件夹,然后把前端文件上传上去5.修改原本的引用路径为新的nginx内的6.创建ItemController代码如下,就是做一个详情页的跳转package com.atguigu.gulimall.product.web;import org.springfra.

2021-04-18 19:19:47 171

原创 day132-商城业务-认证服务-登录注册路径映射+好玩的验证码倒计时前端实现

1.把登录注册的链接都设置好全局收登录注册主页把这三个链接分别改为http://auth.gulimall.com/login.html http://auth.gulimall.com/reg.htmlhttp://auth.gulimall.com2.添加mvc配置类用来作为单纯的页面跳转就不需要在controller中写了package com.atguigu.gulimall.auth.config;import org.springframework...

2021-04-11 19:14:15 236

原创 day131-商城业务-认证服务-环境搭建

1.创建新模块认证模块2.创建时页面引入依赖3.引入common依赖由于我们不需要访问数据库,都是通过feign调用远程接口所以排除 mybatis-plus依赖4.添加应用名称端口以及nacos注册中心地址,这里我们配在本机所以其实不配也行,默认就是localhost:88485.添加注解,nacos与feign的客户端相关6.迁移前端文件到nginx由于动静分离了,前端文件统一挪到nginx的static文件夹下7.修改登录与注册...

2021-04-11 17:12:14 150

原创 day123-商城业务-异步编排-CompletableFuture

待补充

2021-04-11 15:08:48 271

原创 day122-异步-线程池详解

1.为什么要使用线程池当然是大量的实际业务场景中发现前三种线程的初始化方式不好用呗,所以才有了对线程进行管理的这样一个对象的抽象封装也就是线程池具体线程池好处在哪里呢?这里我就不多说了,前人总结的经验,有时间的可以瞧瞧百度百科https://baike.baidu.com/item/%E7%BA%BF%E7%A8%8B%E6%B1%A0/4745661?fr=aladdin主要概括起来就以下几点2.线程池初始化方式及七大参数知道为啥要使用这玩意了,下面聊聊咋用首先,为啥.

2021-04-08 00:12:00 309

原创 day121-异步-初始化线程的四种方式

不多说,直接上代码把代码复制过去运行下就知道了package com.atguigu.gulimall.search.thread;import java.util.concurrent.*;/** * @author rengang * @version 1.0 * @date 2021/4/7 22:11 */public class ThreadTest { //一般在项目启动时创建线程池根据需求创建一到几个 保证最大线程数量运行时不会宕机.并且可以 //.

2021-04-07 23:13:47 275

原创 day120-商城业务-检索服务-页面分页数据渲染

1.关键词收索添加js方法 function searchByKeyWord(){ searchProducts('keyword',$('#keyword_text').val()) }元素添加id,然后超链接调用方法添加2.分页上一页在不是第一页的时候显示,下一页在不是最后一页的时候显示给他俩添加自定义属性,跳转的时候用的到查询结果对象类中加入页码集合的属性查询时加入页码集合 List&l..

2021-04-06 18:33:13 182

原创 day119-商城业务-检索服务-页面筛选条件渲染

品牌超链接修改为如下 <a th:href="${'javascript:searchProducts(&quot;brandId&quot;,'+brand.brandId+')'}">属性超链接修改为如下 <a th:href="${'javascript:searchProducts(&quot;attrs&am

2021-04-06 00:25:40 194

原创 day118-商城业务-检索服务-页面基本数据渲染

上一节已经测试好检索与返回商品数据了1.右侧商品数据渲染可以看到如下图,我们当前右侧商品部分数据都是页面写死的右键检查元素,在list.html中找到前端代码位置一个rig_tab为一行的内容保留一个其它都删了,我们开始改保留的那部分有一样的内容,我们再删掉其他三份改完后内容如下 <div class="rig_tab"> <div th:each="produ.

2021-04-02 17:32:57 212

原创 day117-商城业务-检索服务-SearchRequest构建-检索+排序、分页、高亮+聚合&测试

1.DSL语句概览与分析此篇我要做的就是完成DSL代码层面的实现,大致的结构如下,详细的DSL语句上篇已经贴出来了包含计算分数的must查询与不计算的filter外面被bool然后最外面被query对象包着然后是排序,然后是分页,然后是高亮,最后是聚合分析2.上代码...

2021-04-02 07:21:46 708

原创 day116-商城业务-检索服务-检索DSL测试-聚合部分

1.修改映射中的内容老的映射为如下,可以看到许多字段的index及doc_values都为false,那么这些字段将无法用于检索与内容的显示{ "product" : { "mappings" : { "properties" : { "attrs" : { "type" : "nested", "properties" : { "attrId" : { "t...

2021-04-01 21:10:25 191

原创 day115-商城业务-检索服务-检索DSL测试-查询部分

1.DSL回顾从上次敲DSL已经过了两三个月了,这次再来试试如下是查询的啥?查询的是标题包含华为没有库存,商品品牌id为6或8的商品知识点:组合查询使用bool,match分词后收索,term使用一整个关键词去搜索不进行分词,filter不会去计算任何分值,也不会关心返回的排序问题,因此比must啥的效率会高一点GET product/_search{ "query": { "bool": { "must": [ { "match": {

2021-04-01 01:34:52 202

Diagram Designer 简体中文版安装包百度云链接.txt

Diagram Designer 简体中文版安装包百度云链接 非常实用的流程图制作软件

2021-04-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除