- 博客(11)
- 收藏
- 关注
原创 Springboot中AOP的简单使用案例
5种通知的简单介绍:(1)前置通知(Before advice):在某连接点(join point)之前执行的通知,但这个通知不能阻止连接点前的执行(除非它抛出一个异常)。(2)返回后通知(After returning advice):在某连接点(join point)正常完成后执行的通知:例如,一个方法没有抛出任何异常,正常返回。(3)抛出异常后通知(After throwing a...
2020-04-28 22:55:31
425
原创 springboot中异常的统一处理
请求的调用顺序:开发的过程中,请求的调用顺序一般是表现层–>业务层–>数据层,而当每一层出现异常的时候,会把异常抛给调用者,那么表现层就处于异常处理的最顶层,我们只需统一处理表现层的异常即可。使用的注解介绍:(1)@ControllerAdvice:用于修饰类,表示该类是Controller的全局配置类。在此类中可以对Controller进行异常处理方案的全局配置。(2...
2020-04-28 22:45:13
193
原创 使用java实现前缀树过滤敏感词
前缀树简单介绍Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。它有3个基本性质:(1)根节点不包含字符...
2020-04-25 03:40:50
967
原创 通过自定义注解和拦截器,使得用户只有在登录情况下才能访问某些特殊网页
需求分析在没做任何限制的情况下,用户可以通过http请求访问所有的页面,但是有些页面应该是只有用户登录之后才能访问,比如更改用户信息的网页,这些网页是不能随意访问的,如果用过URL能够访问到这些页面,这明显属于项目的漏洞。实现用户访问权限的控制第一种方法:通过拦截器拦截需要控制权限的特定请求,当拦截器拦截到这些请求以后,首先判断该用户有没有登录,如果没有登录就重定向到登录页面。缺点:这种方...
2020-04-24 18:43:08
749
原创 实现用户登录信息在多请求下的保存
用户登录信息如何保存总体思路上一篇《cookie 和 session》中介绍过使用cookie和session保存用户登录信息存在的问题,以及目前主流的解决方案–使用数据库来保存用户的登录信息。那么如何在保证访问速度和安全的情况下保存用户的登录信息呢?我们可以在数据库保存用户的登录信息,登录信息中存有随机生成的用户登录的凭证,一旦用户成功登录之后,我们将这个随机生成的凭证通过Cookie传给浏...
2020-04-24 00:44:55
641
原创 Cookie和Session的选择,以及如何解决分布式系统下各个服务器之间Session不统一的问题
Cookie什么是Cookie:由于http协议是无状态的,同一个浏览器对服务器的两次请求之间是没有关系的,服务器认为两次请求都是全新的请求,不会记住上次请求成功的数据。然而现有的业务常常需要服务器能记住用户的访问情况,而Cookie就是为了解决http协议无状态的情况。服务器会通过Response将cookie发送到浏览器,并保存在浏览器端,下次浏览器再向服务器发送请求时,会把cookie放...
2020-04-22 19:01:26
636
原创 使用JavaMail发送邮件时出现AuthenticationFailedException异常
1.如果报的异常是:535 5.7.8,检查邮箱授权码是否正确填写spring.mail.password=邮箱授权码2.如果报的异常是:535 12,检查邮箱SMTP/POP3服务是否打开,检查SMTP服务器地址或者邮箱地址是否填写正确spring.mail.host=SMTP服务器地址pring.mail.username=邮箱...
2020-04-22 14:52:26
681
原创 springboot eureka报错localhost UnknownHostException eureka
1.先检查restTemplate的URL有没有写错。2.看看有没有加上@EnableDiscoveryClient注解,这个注解用于发现服务。3.在把restTemplate注入容器时,看看有没有加上负载均衡的注解: @Bean @LoadBalanced //负载均衡注解,会将restTemplate与注册中心关联起来 public Rest...
2019-09-30 17:24:00
907
原创 初步理解动态代理
代理模式:简单来说即在不改变目标类代码的情况下,对目标类进行功能扩展。一:静态代理直接以代码来讲解:1.创建一个接口public interface TargetClass { public void sayHi();}2.接下来对这个接口进行实现:public class TargetClassImp implements TargetClass { ...
2019-09-16 11:27:31
146
原创 centos上通过docker部署ELK(elasticsearch、filebeat、kibana)日志框架
第一步:开启防火墙特定端口如果关闭了防火墙,先开启: systemctl start firewalld.service 设置开机自启动: systemctl enable firewalld.service 重启防火墙: systemctl restart firewalld.service 检查防火墙是否打开: firewall-c...
2019-08-20 11:30:16
497
原创 Springboot 2.0以后的版本 连接数据库时报错:Error creating bean with name 'entityManagerFactory' defined in class
解决方法数据库配置文件中,在url后面加上?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
2019-07-29 16:44:34
356
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人