SpringBoot京淘项目
文章平均质量分 79
緣✘
没有遇不到难题的时刻,只要自己去努力了,必定会是进步!!!!
展开
-
京淘项目Day20-权限管理/Dubbo中的ThreadLocal
1.京淘权限设计1.1 业务说明当用户在不登录的条件下,不允许访问购物车/订单等受限的系统.并且重定向到用户的登录页面.问题:1.如何校验用户是否登录? Cookie /Redis2.如何拦截用户的请求呢? 拦截器设定.1.2 拦截器实现用户权限校验1.2.1 SpringMVC调用原理图说明:通过图中的分析 handler处理器负责Controller之后的所有的业务处理.1.2.2 mvc拦截器执行的示意图1.2.3编辑拦截器配置文件package com.jt.config;原创 2020-09-12 20:57:30 · 340 阅读 · 0 评论 -
京淘项目Day19-Dubbo框架实现商品的详情展现
1.用户模块操作1.1 用户退出操作1.1.1 业务需求当用户点击退出操作时,应该删除Cookie和Redis中的数据.并且重定向到系统首页.1.1.2 页面URL分析1.1.3 编辑UserController /** * 实现用户退出操作 * url:http://www.jt.com/user/logout.html * 返回值: 重定向到系统首页. * 目的: 删除redis. 删除Cookie * 前提: 需要获取cookie的原创 2020-09-12 20:34:48 · 219 阅读 · 0 评论 -
京淘项目Day18-Dubbo负载均衡
1.Dubbo负载均衡说明1.1 zk数据存储结构1.2 Dubbo通讯原理通讯协议: dubbo协议(tcp-ip)说明: dubbo协议将TCP-IP协议进行封装.Dubbo框架中使用dubbo协议建立了链接,之后通过IP:20880等端口进行通讯,与LinuxIP地址无关.1.3 Dubbo负载均衡策略1.3.1 hash一致性原则根据IP:port进行hash运算,之后绑定固定的提供者进行访问.效果: 以后消费者与服务提供者进行了绑定.1.3.2 挑选访问压力最小的说明原创 2020-09-12 20:00:59 · 188 阅读 · 0 评论 -
京淘项目Day17-SOA/RPC思想——dubbo框架
1.关于HttpClient调用说明1.1 分析1).httpClient使用时需要接收几个用户的URL请求? 2个2).跨域/httpClient代码调用分别为多少层2.SOA思想2.1 SOA思想介绍面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构件在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。原创 2020-09-12 17:13:10 · 179 阅读 · 0 评论 -
京淘项目Day16-JSONP工具API/CORS跨域
1 关于JSONP知识说明1.1 JSONP工具API说明1.1.1 JSONP页面说明$.ajax({ url:"http://manager.jt.com/web/testJSONP", type:"get", //jsonp只能支持get请求 src只能进行get请求. dataType:"jsonp", //dataType表示返回值类型 必须标识 //jsonp: "callback", //指定参数名称 jsonpCallback:原创 2020-09-12 15:45:27 · 190 阅读 · 0 评论 -
京淘项目Day15-Redis集群/nginx反向代理
1.Redis集群1.1 Redis分区说明Redis分区只负责 数据应该存储到哪里的问题.至于是否能存储的下 完全由Redis内存决定.特点:1.hash(key1)%16384 = 30002.hash(key2)%16384 = 3000 key1和key2 都归第一个节点进行管理.1.2 Redis hash槽与一致性 hash算法的区别1.运算位置不同.1.redis分片机制在业务服务器中完成的运算.2.redis分区算法在连接Redis之后,由redis进行计算.2.算法不原创 2020-09-12 11:07:42 · 898 阅读 · 1 评论 -
京淘项目Day14-整合redis分片机制/哨兵机制
1. Redis分片机制1.1 分片机制说明前提说明: redis可以通过修改内存的大小 实现数据的保存.但是内存的资源不易设置的过大,因为很多的时间都浪费在内存的寻址中.需求: 如果有海量的数据,需要redis存储 问:应该如何处理?解决方案: 可以采用Redis分片机制 实现内存数据的扩容.知识点: 采用redis分片 只要的目的就是为了实现内存扩容.从而解决海量数据存储的问题1.2 Redis分片搭建步骤1.2.1 分片节点说明说明: 端口号分别为 6379/6380/6381原创 2020-09-10 18:09:16 · 112 阅读 · 0 评论 -
京淘项目Day13-AOP/Redis优化
1.利用Redis缓存实现商品分类查询1.1 编辑ItemCatController@RequestMapping("/list") public List<EasyUITree> findItemCatList(Long id){ Long parentId = (id==null?0L:id); //根据parentId=0 查询一级商品分类信息 //Long parentId = 0L; //return itemCatService.findItemCatLi原创 2020-09-10 17:40:13 · 155 阅读 · 0 评论 -
京淘项目Day12-Redis缓存
1.还原系统配置1.1 释放Linux资源1.1.1 停止数据库主从服务1.1.2 关闭数据库服务说明:关闭数据库服务器.1.1.3 关闭tomcat/mycat服务器1.1.4关闭nginx服务器1.2 修改代码中的配置1.2.1 修改YML配置文件说明:切换端口号和url地址.1.2.2 修改图片上传地址1.3 修改环境配置1.3.1 修改hosts文件1.3.2 修改windows中的Nginx修改完成之后,启动nginx服务器.1.3.3 访问测试检原创 2020-09-08 20:53:16 · 112 阅读 · 0 评论 -
京淘项目Day11-数据库主从/ Mycat
1.数据库主从搭建1.1 开启主库的二进制日志文件1.1.1 主库二进制文件位置说明: mysql数据库核心配置文件 /etc/my.cnf1.1.2 编辑二进制日志文件1.1.3 检查二进制日志文件是否生成1.2 开启从库二进制日志文件注意事项: server-id=2 不能重复.vim /etc/my.cnf 检查二进制日志文件是否正确.1.3 实现主从挂载1.3.1业务说明说明:主从挂载应该由从库向主库进行挂载.由从库远程连接主库,之后读取二进制日志文件信息.原创 2020-09-07 20:54:22 · 243 阅读 · 0 评论 -
京淘项目Day10-Linux部署tomcat/Nginx
1.部署tomcat服务器1.1 修改图片上传路径1.1.1 创建目录说明:在指定的文件目录下 创建images.1.1.2 获取图片目录1.1.3修改图片服务器地址#配置图片服务器#image.localDirPath=D:/JT-SOFT/imagesimage.localDirPath=/usr/local/src/imagesimage.urlPath=http://image.jt.com1.2 关闭tomcat服务器命令1: jps命令2:杀死进程:kill原创 2020-09-04 21:00:41 · 195 阅读 · 0 评论 -
京淘项目Day09-搭建Linux虚拟机
1.虚拟机配置1.1 修改虚拟机网络空间地址说明:将net网络配置 改为192.168.126.0修改dhcp设置1.2 校验windows中Nat8 IP地址在windows中 利用cmd命令 ipconfig 检查net8IP地址 是否为192.168.126.1 即可.1.3 Linux操作系统重置网卡说明:如果Linux操作系统开机之后, 通过IP addr 命令检查IP地址时,不能正常的展现IP地址,如图所示:问题描述: CentOS7 版本中有2处网络配置 1.Netwo原创 2020-09-04 20:19:57 · 280 阅读 · 0 评论 -
京淘项目Day08
1.实现图片回显1.1准备虚拟路径1.1.1 编辑image.properties说明:在jt-manager中创建image.properties文件,在其中编辑关于图片配置的所有信息.1.1.2 编辑FileServiceImpl说明:实现虚拟路径配置,并且设定属性动态赋值操作.@Service@PropertySource("classpath:/properties/image.properties")public class FileServiceImpl implements原创 2020-09-03 17:55:00 · 265 阅读 · 0 评论 -
京淘项目Day07
1.商品上架/下架操作1.1 业务分析当用户点击商品上架/下架的操作时,应该修改数据库中的状态信息status.上架 status = 1, 下架 status = 21.2 页面URL分析1.3 页面JS分析1.4 实现RestFul调用1.4.1 重构页面url地址1.4.2 编辑ItemController/** * 利用restFul方式实现状态修改. * 1./item/1 status=1 * 2./item/2 status=2 */ @Req原创 2020-08-20 17:56:39 · 196 阅读 · 0 评论 -
京淘项目Day06
1.商品CURD操作1.1 关于JS数据校验说明1.必填项<td><input class="easyui-textbox" type="text" name="title" data-options="required:true" style="width: 280px;"></input></td>2.数据有效性校验<td><input class="easyui-numberbox" type="text" name="p原创 2020-08-20 15:50:48 · 121 阅读 · 0 评论 -
京淘项目Day05
1.完成商品分类展现1.1业务分析说明:当用户展现商品列表信息时,里边的商品类目应该展现的是具体商品分类的名称,而不是ID.所以需要再次发起ajax请求根据id获取商品分类的名称.1.2页面JS分析1.3编辑ItemCatController@RestController //该Controller的返回值都是JSON@RequestMapping("/item/cat")public class ItemCatController { @Autowired private It原创 2020-08-20 15:36:39 · 141 阅读 · 0 评论 -
京淘项目Day04
1.关于项目打包/发布问题说明1.1 利用maven工具项目打包说明: 父级JT 其中包含了2个子级项目jt-manager 依赖于jt-common.所以项目打包是有顺序的.1.2 maven-install1.项目打包2.打包效果3.打包位置本地仓库中target目录中:1.3 SpringBoot项目发布说明: springBoot项目中,内置了tomcat服务器. 所以发布项目时,只需要通过java命令让程序执行即可.JAVA命令: java -jar xxxxx.原创 2020-08-20 14:31:02 · 189 阅读 · 0 评论 -
京淘项目Day03
1 SpringBoot整合JSP1.1 关于SpringBoot整合页面说明说明:SpringBoot默认支持的页面是HTML页面.通过模板工具类进行数据的转化.(JAR包文件). 但是天生不支持整合JSP的机制,所以需要单独的配置. (war包项目)1.2 调整IDE的new选项勾选maven1.2 新建web项目2).将原有mybatis中的配置信息导入到新的项目中.1.3 添加jar包文件 <!--springBoot整合JSP添加依赖 --> <!原创 2020-08-20 11:28:21 · 321 阅读 · 0 评论 -
IDEA入门使用教程
1. 安装及下载下载地址:https://www.jetbrains.com/idea/至于社区版/还是商业版自行决定2.创建项目2.1 创建JT项目2.2 选择maven2.3 选择jar包版本2.4 项目初始化格式3. IDEA配置3.1安装汉化插件(选装)对于初学者,好多IDEA的配置, 都是英文不是特别熟悉.因此官方提供了汉化补丁,从此使用无压力 ,个人感觉好用.包含chinese和lombok都安装一下.安装好之后重启IDEA即可.对于更换idea背景可以用本原创 2020-08-20 11:25:48 · 1422 阅读 · 0 评论 -
京淘项目Day02
1. SpringBoot程序加强1.1 属性赋值问题1.1.1 业务需求说明: 如果将配置信息,通过代码的形式写死到代码中,这样的话程序的耦合性高,不便扩展.需求: 能否为对象的属性,动态赋值.@RestController //保证返回的数据转化为JSONpublic class JDBCController { private String username; //定义数据库用户名 private String password; //定义数据库密码 @RequestMapp原创 2020-08-19 21:05:45 · 185 阅读 · 0 评论 -
京淘项目Day01
1. 京淘学习架构流程图京淘项目整体流程图设计. 在Linux系统实现运行. 上线运行2. 数据库物理模型图使用2.1 安装数据库连接工具1).将课前资料中的文件解压.并且执行.添加注册码.新建数据库连接2).导入京淘数据库利用数据库导入工具.完成jtdb的导入工作.导入完成之后:刷新2.2 通过命令导入数据库2.3 为什么需要物理模型图原因说明:通过数据库工具虽然可以展现表相关信息.但是无法直观的检查表与表之间的关联关系是什么.例如主外键关联等.所以需要一种能够直观的展现表原创 2020-08-19 20:01:57 · 226 阅读 · 0 评论