09 2019 档案
摘要:1.简介 (1)问题分析 现在,我们的页面是通过Thymeleaf模板引擎渲染后返回到客户端。在后台需要大量的数据查询,而后渲染得到HTML页面。会对数据库造成压力,并且请求的响应时间过长,并发能力不高。 大家能想到什么办法来解决这个问题? 首先我们能想到的就是缓存技术,比如之前学习过的Redis。
阅读全文
摘要:1.Thymeleaf (1)简介 Thymeleaf是用来开发Web和独立环境项目的现代服务器端Java模板引擎。注意:是在服务器端进行渲染。 Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板 - HTML。可以在直接浏览器中正确显示,并且可以作为静态原型,从而在开发团队中实现更
阅读全文
摘要:先来看分类和品牌。在我们的数据库中已经有所有的分类和品牌信息。在这个位置,是不是把所有的分类和品牌信息都展示出来呢? 显然不是,用户搜索的条件会对商品进行过滤,而在搜索结果中,不一定包含所有的分类和品牌,直接展示出所有商品分类,让用户选择显然是不合适的。 无论是分类信息,还是品牌信息,都应该从搜索的
阅读全文
摘要:刚才的查询中,我们默认了查询的页码和每页大小,因此所有的分页功能都无法使用,接下来我们一起看看分页功能条该如何制作。 这里要分两步, 第一步:如何生成分页条 第二步:点击分页按钮,我们做什么 第一步:如何生成分页条 第二步:点击分页按钮,我们做什么 1.如何生成分页条 先看下页面关于分页部分的代码:
阅读全文
摘要:1.修改host解析 2.使用Nginx代理,实现域名访问 进入Nginx的安装路径E:\toolsoftware\nginx-1.14.0\nginx-1.14.0\conf,修改 添加如下内容: 范例: 重新加载Nginx 3.访问测试 浏览器输入:http://image.leyou.com/
阅读全文
摘要:1.页面分析 (1)页面跳转 在首页的顶部,有一个输入框: 当我们输入任何文本,点击搜索,就会跳转到搜索页search.html了: 并且将搜索关键字以请求参数携带过来: 我们打开search.html,在最下面会有提前定义好的Vue实例: 这个Vue实例中,通过import导入的方式,加载了另外一
阅读全文
摘要:1.创建搜索服务 创建module: Pom文件: application.yml: 引导类: 2.索引库数据格式分析 接下来,我们需要商品数据导入索引库,便于用户搜索。 那么问题来了,我们有SPU和SKU,到底如何保存到索引库? <1>以结果为导向 大家来看下搜索结果页: 可以看到,每一个搜索结果
阅读全文
摘要:1.Springboot测试类运行报错 java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTe
阅读全文
摘要:Elasticsearch提供的Java客户端有一些不太方便的地方: 很多地方需要拼接Json字符串,在java中拼接字符串有多恐怖你应该懂的 需要自己把对象序列化为json存储 查询到结果也需要自己反序列化为对象 很多地方需要拼接Json字符串,在java中拼接字符串有多恐怖你应该懂的 需要自己把
阅读全文
摘要:聚合可以让我们极其方便的实现对数据的统计、分析。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些统计功能的比数据库的sql要方便的多,而
阅读全文
摘要:1.查询 (1)基本查询 基本语法: 这里的query代表一个查询对象,里面可以有不同的查询属性 查询类型: 例如:match_all, match,term , range 等等 查询条件:查询条件会根据类型的不同,写法也有差异,后面详细讲解 查询类型: 例如:match_all, match,t
阅读全文
摘要:1.IK分词器 (1)安装 使用IK分词器可以实现对中文分词的效果。下载IK分词器:(Github地址:https://github.com/medcl/elasticsearch-analysis-ik) 下载zip,并将解压的文件拷贝到ES安装目录的plugins下的ik目录下(注意:ik的版本
阅读全文
摘要:1.基本概念 Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的。 注意:6.0之前的版本有type(类型)概念,type相当于关系数据库的表,ES官方将在ES9.0版本中彻底删除type。上边讲的创建索引库相当于关系数据库中的数据库还是表?1、
阅读全文
摘要:每次用cmd命令,就要定位到当前文件夹,很麻烦 这里介绍两种直接定位到要操作的文件夹的方法: 方法一: 进入需要cmd的文件目录,输入cmd,按enter回车 效果图: 方法二: 操作步骤: (1)选择要cmd的文件夹,按住Shift键,鼠标右键快捷方式,先打开Powershell窗口。 (2)输入
阅读全文
摘要:用户访问我们的首页,一般都会直接搜索来寻找自己想要购买的商品。而商品的数量非常多,而且分类繁杂。如何能正确的显示出用户想要的商品,并进行合理的过滤,尽快促成交易,是搜索系统要研究的核心。面对这样复杂的搜索业务和数据量,使用传统数据库搜索就显得力不从心,一般我们都会使用全文检索技术,比如之前大家学习过
阅读全文
摘要:1.linux历史 Linux最初是由芬兰赫尔辛基大学学生Linus Torvalds由于自己不满意教学中使用的MINIX操作系统, 所以在1990年底由于个人爱好设计出了LINUX系统核心。后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮
阅读全文
摘要:后台系统的内容暂时告一段落,有了商品,接下来我们就要在页面展示商品,给用户提供浏览和购买的入口,那就是我们的门户系统。 门户系统面向的是用户,安全性很重要,而且搜索引擎对于单页应用并不友好。因此我们的门户系统不再采用与后台系统类似的SPA(单页应用)。 依然是前后端分离,不过前端的页面会使用独立的h
阅读全文
摘要:1.编辑按钮点击事件 在商品详情页,每一个商品后面,都会有一个编辑按钮: 点击这个按钮,就会打开一个商品编辑窗口,我们看下它所绑定的点击事件:(在item/Goods.vue) 对应的方法: 可以看到这里发起了两个请求,在查询商品详情和sku信息。 因为在商品列表页面,只有spu的基本信息:id、标
阅读全文
摘要:当我们点击新增商品按钮: 就会出现一个弹窗: 里面把商品的数据分为了4部分来填写: 基本信息:主要是一些简单的文本数据,包含了SPU和SpuDetail的部分数据,如 商品分类:是SPU中的cid1,cid2,cid3属性 品牌:是spu中的brandId属性 标题:是spu中的title属性 子标
阅读全文
摘要:1.SPU和SKU数据结构 (1)SPU SPU表: 与我们前面分析的基本类似,但是似乎少了一些字段,比如商品描述。 我们做了表的垂直拆分,将SPU的详情放到了另一张表:tb_spu_detail 这张表中的数据都比较大,为了不影响主表的查询效率我们拆分出这张表。 需要注意的是这两个字段:gener
阅读全文
摘要:1.商品规格数据结构 乐优商城是一个全品类的电商网站,因此商品的种类繁多,每一件商品,其属性又有差别。为了更准确描述商品及细分差别,抽象出两个概念:SPU和SKU,了解一下: (1)SPU和SKU SPU:Standard Product Unit (标准产品单位) ,一组具有共同属性的商品集 SK
阅读全文
摘要:文件的上传并不只是在品牌管理中有需求,以后的其它服务也可能需要,因此我们创建一个独立的微服务,专门处理各种上传。 1.搭建模块 (1)创建模块 (2)依赖 我们需要EurekaClient和web依赖: (3)编写配置 (4)引导类 (5)模块初步结构图 2.编写上传功能 (1)Controller
阅读全文
摘要:1.前端页面实现 (1)链接逻辑 昨天我们完成了品牌的查询,接下来就是新增功能。点击新增品牌按钮 Brand.vue页面有一个提交按钮: 点击触发addBrand方法: 把数据模型之的show置为true,而页面中有一个弹窗与show绑定: 弹窗中有一个表单子组件,并且是一个局部子组件,有页面可以找
阅读全文
摘要:1.下载vue-devtools插件 地址 https://github.com/vuejs/vue-devtools 2.进入刚刚下载文件的目录下(最好路径中没有中文) 再执行如下命令 找到manifest.json所对应的路径 我这里是在shells>chrome文件夹下 把persistent
阅读全文
摘要:SCI期刊是有一定分区的,按照影响因子的高低将SCI期刊分成不同的区,SCI目前有两类划分,一是国内的中国社科院进行的划分(SCI分区),另一个是国际上汤森路透进行的划分(JCR分区),二者都是根据SCI期刊的影响因子来进行划分的。 汤森路透JCR分区法: 1、各学科分类中影响因子前25%(含25%
阅读全文
摘要:先看看我们要实现的效果: 点击“品牌管理”菜单: 路由路径:/item/brand 根据路由文件知,对应的页面是:src/pages/item/Brand.vue 页面会发送如下请求: 注意:程序的编写逻辑 01 Dao层 数据库对应的实体类及mapper映射 02 Service层 编写具体的查询
阅读全文
摘要:商城的核心自然是商品,而商品多了以后,肯定要进行分类,并且不同的商品会有不同的品牌信息,我们需要依次去完成:商品分类、品牌、商品的开发。 1.导入数据库表 打开Navicat软件,选择对应的数据库,运行sql文件。 执行结果: 2.实现功能 在浏览器页面点击“分类管理”菜单: 根据这个路由路径到路由
阅读全文
摘要:参考文献: https://www.cnblogs.com/meicorl/p/6008456.html https://www.jianshu.com/p/1f12eab097ee https://blog.csdn.net/wang839305939/article/details/807411
阅读全文
摘要:1.统一环境 我们现在访问页面使用的是:http://localhost:9001 实际开发中,会有不同的环境: 开发环境:自己的电脑 测试环境:提供给测试人员使用的环境 预发布环境:数据是和生成环境的数据一致,运行最新的项目代码进去测试 生产环境:项目最终发布上线的环境 开发环境:自己的电脑 测试
阅读全文
摘要:1.Vuetify优点 官方网站:https://vuetifyjs.com/zh-Hans/ 原因如下: Vuetify几乎不需要任何CSS代码,而element-ui许多布局样式需要我们来编写 Vuetify从底层构建起来的语义化组件。简单易学,容易记住。 Vuetify基于Material D
阅读全文
摘要:1.导入已有资源 后台项目相对复杂,我们不再从0搭建项目,而是直接使用准备好的源码。 注意:该项目的前端页面已经搭建好了。 我们解压缩,放到工作目录中:E:\javaProject\JavaEEProject 用idea打开工程即可。 初次打开的结构目录: 2.安装依赖 你应该注意到,这里并没有no
阅读全文
摘要:1.组件化 在大型应用开发的时候,页面可以划分成很多部分。往往不同的页面,也会有相同的部分。例如可能会有相同的头部导航。但是如果每个页面都独自开发,这无疑增加了我们开发的成本。所以我们会把页面的不同部分拆分成独立的组件,然后在不同页面就可以共享这些组件,避免重复开发。在vue里,所有的vue实例都是
阅读全文
摘要:1.前端开发模式的发展过程 (1)静态页面 最初的网页以HTML为主,是纯静态的网页。网页是只读的,信息流只能从服务端到客户端单向流通。开发人员也只关心页面的样式和内容即可。 (2)异步刷新,操作DOM 1995年,网景工程师Brendan Eich 花了10天时间设计了JavaScript语言.随
阅读全文
摘要:1.ECMAScript概述 (1)前端的发展历程 <1>web 1.0时代 最初的网页以HTML为主,是纯静态的网页。网页是只读的,信息流只能从服务的到客户端单向流通。开发人员也只关心页面的样式和内容即可。 <2>web 2.0时代 1995年,网景工程师Brendan Eich 花了10天时间设
阅读全文
摘要:1.了解电商行业 (1)项目分类 主要从需求方、盈利模式、技术侧重点这三个方面来看它们的不同 <1>传统项目 各种企业里面用的管理系统(ERP、HR、OA、CRM、物流管理系统。。。。。。。)- 需求方:公司、企业内部- 盈利模式:项目本身卖钱- 技术侧重点:业务功能 <2>互联网项目 门户网站、电
阅读全文
摘要:1.Spring变量依赖注入出现红色波浪线 Could not autowire. No beans of 'UserMapper' type found. less... (Ctrl+F1) Checks autowiring proble 解决方案1: 将光标定位在usersMapper这个红色
阅读全文
摘要:1.Zuul网关概述 通过前面的学习,使用Spring Cloud实现微服务的架构基本成型,大致是这样的: 我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现;而服务间通过Ribbon或Feign实现服务的消费以及均衡负载。为了使得服务集群更为健壮,
阅读全文
摘要:1.概述 Feign可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样。你不用再自己拼接url,拼接参数等等操作,一切都交给Feign去做。 2.入门案例 2.1 服务提供方 user-service模块 server: port: 8201 spring: app
阅读全文
摘要:1.概述 Hystrix,英文意思是豪猪,全身是刺,看起来就不好惹,是一种保护机制。Hystrix也是Netflix公司的一款组件。主页:https://github.com/Netflix/Hystrix/Hystix是Netflix开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现
阅读全文
摘要:1.Ribbon概述 实际环境中,我们往往会开启很多个itcast-service-provider的集群。此时我们获取的服务列表中就会有多个,到底该访问哪一个呢? Eureka中已经帮我们集成了负载均衡组件:Ribbon,简单修改代码即可使用。 2.负载均衡入门案例 (1)启动两个LuckySer
阅读全文
摘要:1. Rerun . 这个就是结束debug模式,直接以run的方式重新跑某个程序。2. Resume(F9) 直接跑完. 到下一个断点停下. 没有就直接跑完程序。3. Stop 停止项目或者程序。要是自己的main呢. 点一下就停下了. 要是Java web项目. 则点2下. 就把服务器给停了。4
阅读全文
摘要:1.Eureka概述 (1)引子 网约车出现以前,人们出门叫车只能叫出租车。一些私家车想做出租却没有资格,被称为黑车。而很多人想要约车,但是无奈出租车太少,不方便。私家车很多却不敢拦,而且满大街的车,谁知道哪个才是愿意载人的。一个想要,一个愿意给,就是缺乏管理啊。此时滴滴这样的网约车平台出现了,所有
阅读全文
摘要:1.SpringCloud概述 微服务是一种架构方式,最终肯定需要技术架构去实施。 微服务的实现方式很多,但是最火的莫过于Spring Cloud了。SpringCloud优点: - 后台硬:作为Spring家族的一员,有整个Spring全家桶靠山,背景十分强大。 - 技术强:Spring作为Jav
阅读全文
摘要:1.系统架构的演变 随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的Service Mesh。 (1)集中式架构 当网站流量很
阅读全文
摘要:1.Thymeleaf概述 SpringBoot并不推荐使用jsp,但是支持一些模板引擎技术:Freemarker、Thymeleaf、Mustache。 简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较于其他的模板引擎,
阅读全文