红茶的个人站点

  • 首页
  • 专栏
  • 开发工具
  • 其它
  • 隐私政策
Awalon
Talk is cheap,show me the code.
Spring Cloud 学习笔记

从零开始 Spring Cloud 13:分布式事务

1.分布式事务问题 用一个示例项目演示在分布式系统中使用事务会产生的问题。 示例项目的 SQL:seata_demo.sql 示例项目代码:seata-demo.zip 这个示例项目中的微服务的互相调用依赖于 Nacos,所以还需要提供 Nacos。 整个项目的架构如下: 订单服务有一个创建订单接口,这个接口会在订单表中生成订单信息,同时会依次调用账户服务和库存服务,这两个微服务会分别扣减账户的金额以及扣减库存。 在执行接口的时候,如果库存足够(小于等于10),就可以正常生成订单并完成库存扣减。但如果库存不够,就会…

2023年10月6日 0条评论 1169点热度 0人点赞 魔芋红茶 阅读全文
开发工具

seata的部署和集成

一、部署Seata的tc-server 1.下载 首先我们要下载seata-server包,地址在http://seata.io/zh-cn/blog/download.html 当然,课前资料也准备好了:seata-server-1.4.2.zip 2.解压 在非中文目录解压缩这个zip包,其目录结构如下: 3.修改配置 修改conf目录下的registry.conf文件: 内容如下: registry { # tc服务的注册中心类,这里选择nacos,也可以是eureka、zookeeper等 type = "…

2023年10月5日 0条评论 1214点热度 0人点赞 魔芋红茶 阅读全文
其它

Shiro 学习笔记6:JWT

之前我们的 Shiro 的会话状态跟踪是基于 Session 和 Cookie 的,客户端会保存服务端返回的 Shiro SessionID 到 Cookie,并且在请求时传输 Cookie 中会包含 SessionID 信息。 但如果用户禁用 Cookie 或者使用的是不支持 Cookie 的客户端,这种方式就是无效的。此时我们无法跟踪用户的会话状态,也就无法进行登录状态检查和权限检验等。 1.用请求头传递 SessionID 其实解决上述问题最简单的方式是客户端不再通过 Cookie 传递 SessionID,…

2023年9月27日 0条评论 1153点热度 0人点赞 魔芋红茶 阅读全文
其它

Shiro 学习笔记5:登录控制

本篇介绍 Shiro 在登录控制相关的实际应用。 限制登录尝试次数 面对暴力破解密码方式的进行登录的攻击,比较有效的应对手段除了使用验证码,对一定时间内登录尝试次数进行限制同样是行之有效的。 在这里可以用 Redis 记录某段时间内的登录失败尝试次数,如果超过某个阈值,就不检查密码是否正确,直接返回错误信息。若干时间后再次允许对该账号的登录尝试。 Shiro 对密码进行比较的工作是由 Realm 的CredentialsMatcher完成的,因此我们可以自定义一个CredentialsMatcher,并且在进行密码…

2023年9月25日 0条评论 974点热度 0人点赞 魔芋红茶 阅读全文
其它

Shiro 学习笔记4:分布式会话

在上篇文章中,我们已经在 Spring Boot 项目中集成了 Shiro,并实现了权限控制。最后用 Redis 缓存用户权限信息的方式优化了 Shiro 鉴权的性能。 但这个项目有一个问题,即只能作为单体应用部署。原因是项目用于跟踪用户状态信息的 Session 实际上存储在内存中。如果对项目进行集群部署,多台服务器之间的内存中 Session 显然是无法共享的。 1.SessionDao Shiro 使用的 Session 存储方式是由 SessionManager 决定的: @Bean public Defa…

2023年9月24日 0条评论 940点热度 0人点赞 魔芋红茶 阅读全文
其它

Shiro 学习笔记3:Spring Boot 集成

1.准备工作 创建一个 SpringBoot 应用,将打包方式改为 war,并添加 JSP 的相关支持。 Spring Boot 整合 JSP 的相关内容可以阅读这篇文章。 2.整合 2.1.依赖 <dependency>    <groupId>org.apache.shiro</groupId>    <artifactId>shiro-spring-boot-web-starter</artifactId>    <version>1.1…

2023年9月23日 0条评论 995点热度 0人点赞 魔芋红茶 阅读全文
其它

Spring Boot 学习笔记4:JSP

1.准备工作 创建一个 SpringBoot 项目,并勾选必要的依赖。 因为要使用 JSP 作为前端页面,所以这里需要将打包方式修改为war: <packaging>war</packaging> 添加 JSTL 依赖: <dependency>    <groupId>javax.servlet</groupId>    <artifactId>jstl</artifactId>    <version>1.2<…

2023年9月21日 0条评论 932点热度 0人点赞 魔芋红茶 阅读全文
SpringMVC 学习笔记

SpringMVC 学习笔记5:JSP

这篇文章介绍如何在基于 JavaWeb 和 SpringMVC 搭建的框架中使用 JSP。 1.准备工作 先按照之前文章说的方式,创建一个 Mave Web 项目,并添加 Spring MVC 依赖,并添加相关的 SpringMVC 容器初始化代码。 这里是我创建好的示例项目。 项目中有以下几个目录: /resources/static,存放静态资源,比如 html/css/js 等。 /webapp,存放 jsp。 现在可以直接访问 JSP 相关页面,比如:http://localhost/jsp/user/lo…

2023年9月21日 0条评论 920点热度 0人点赞 魔芋红茶 阅读全文
其它

Shiro 学习笔记2:Web 应用集成

需要先进行一些准备工作: 创建一个 Maven Web 项目,具体方式可以参考这篇文章。 将上篇文章项目中的依赖拷贝进当前项目。 将上篇文章项目中的代码拷贝进当项目。 这里提供一个整合后的示例项目 web-demo,内含 SQL。 Web 集成 Shiro web.xml 现在这个示例项目存在一个问题,读取 Shiro 配置并创建 SecurityManager 的代码需要手动调用,虽然我们已经封装成了工具类: public class SubjectUtil {    private static Securit…

2023年9月19日 0条评论 907点热度 0人点赞 魔芋红茶 阅读全文
JavaWeb 学习笔记

JavaWeb 学习笔记 11:JDBC

1.简介 JDBC 是一个 Java 为接入不同类型的数据库定义的一个数据库连接和执行 SQL 的 API。 可以用下图表示: 图中的具体数据库的驱动实际上就是数据库厂商提供的 JDBC 接口的实现类。 2.快速开始 用 Maven 创建一个简单的 Java 应用,并添加数据库驱动的依赖: <dependency>    <groupId>com.mysql</groupId>    <artifactId>mysql-connector-j</artifact…

2023年9月17日 0条评论 943点热度 0人点赞 魔芋红茶 阅读全文
12345…48

魔芋红茶

加一点PHP,加一点Go,加一点Python......

专栏
  • SpringMVC 学习笔记 SpringMVC 学习笔记
  • MySQL学习笔记 MySQL学习笔记
  • Spring Boot学习笔记 Spring Boot学习笔记
  • Java编程笔记 Java编程笔记
  • php学习笔记 php学习笔记
  • Go语言编程笔记 Go语言编程笔记
  • 设计模式 with Python 设计模式 with Python
  • Linux之旅 Linux之旅
  • 腾讯云博客搭建 腾讯云博客搭建
  • HTTP学习笔记 HTTP学习笔记
项目
  • M3U-Helper M3U-Helper
  • Markdown-img Markdown-img
  • PEP中文翻译项目 PEP中文翻译项目
工具箱
  • 我的Windows软件列表 我的Windows软件列表
点歌台
最新 热点 随机
最新 热点 随机
Activiti 学习笔记 2:流程定义 Activiti 学习笔记 1:开始 Redis 学习笔记 8:附近店铺 Redis 学习笔记 7:达人探店 Redis 学习笔记 6:消息队列 Redis 学习笔记 5:分布式锁
Redis 学习笔记 4:优惠券秒杀Redis 学习笔记 5:分布式锁Redis 学习笔记 6:消息队列Redis 学习笔记 7:达人探店Redis 学习笔记 8:附近店铺Activiti 学习笔记 1:开始
腾讯云博客搭建VII Redis 集群 Spring Boot 教程11:@ConfigurationProperties 畸形的产业,何时能取缔 Java编程笔记29:JSP Markdown-img使用指南
最近评论
fuckbaidu 发布于 3 年前(02月26日) 兄弟,你新网址一直没备案成功
啊长 发布于 3 年前(12月17日) 膜拜大佬了,希望越做越好 :exclaim:
nfmd 发布于 4 年前(11月01日) 腾讯云出了个60块六年多的bug
nfmd 发布于 4 年前(10月30日) str.replace("逻辑", "罗辑")
fuckbaidu 发布于 4 年前(10月14日) 并不是所有的文件都能通过软链接转移,比如chrome浏览器,你要是转移了,就不能自动更新了
友情链接
  • NFMD's blog
  • 小金龙的blog
  • 幸哥的blog

COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由提供CDN加速/云存储服务

Theme Kratos Made By Seaton Jiang

宁ICP备2021001508号

宁公网安备64040202000141号