乐优商城总结

收获一:明白了电商系统中的一些知识点,例如sku和spu的概念,另外,类目、品牌、商品、规格参数、规格参数组的设计以及它们关系也是相对复杂的,学完之后自己也能梳理清楚了。

收获二:之前以为在微服务中,所有的请求都会过网关,由网关进行路由,但是并不是这样。例如上传服务,如果上传文件也经Zuul网关,会造成不必要的网络负担,在高并发的情况下,有可能会造成整个系统的瘫痪,因此文件上传的请求是不经过网关来处理的。

收获三:库表设计的技巧。像spu和spuDetail会分在不同的表里,主要是spu和spuDetail读的频率不一样,并且spuDetail中商品详情属于大字段,分开存储会好一些,同样的,sku和库存也会分开存储,这是因为读写的频率不一样。另外,常规库表设计应该遵循三范式,但是有时候字段冗余可以减少不必要查询,这是值得的。

收获四:学习了JWT,包括JWT的概念、数据格式和交互流程,之前是听说过,这次是能亲自实战,感觉收获满满。

收获五:整合SpringBoot+ElasticSearch完成商品搜索,以后有需要用到搜索引擎相关的东西,可以直接拿过来进行优化。

商品分页展示
在这里插入图片描述

实现搜索

leyou-portal 前台页面

start nginx 
live-server --port=9002

在这里插入图片描述

商品详情页(spuId.html)

服务:leyou-goods-web,其端口为8084
nginx --port=8084
需要portal服务的9092端口提供图片解析

  • 后台接口

  • 使用 thymeleaf修改item.html

页面静态化(存在磁盘上)

  • nginx代理静态页面
    在这里插入图片描述
    优化:新建线程处理页面静态化
<div th:text-"${message}">数据详情</div>
1.商品详情页
	thymeleaf语法
	1.引入thymeleaf启动器
	2.关闭thymeleaf缓存:spring.thymeleaf.cache=false ctrl+shift+f9
	3.th:text  th:utext th:each  ${} /*[[${数据模型}]]*/ 
	4.页面数据的组织

2.页面静态化
	context:thymeleaf的运行上下文,存放数据模型
	TemplateResolver:模板解析器,模板的位置,名称,后缀信息
	TemplateEngine:模板解析引擎
	templateEngine.process("item", context, printWriter)

博客笔记

参考代码

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章