Prince_ZaZa
Go big or go home
posts - 33,comments - 0,views - 7058

1.自定义注解->定义需要登录才能访问的方法:在拦截器配置。拦截器->实现HandlerInterceptor接口,重写preHandle方法
2.业务日志切面:1)AOP面向切面编程。使用反射实例化Logger类 2)配置切点(通知具体生效的地方) 3)配置Advice通知(@Before)在程序运行时,满足了切点所声明的条件,将代码织入到指定的位置。
AOP的实现方式主要有两种:基于jdk代理(实现接口实例)和CGLib动态代理(创建子类代理)。
3.使用Kaptcha组件实现验证码
4.Quartz来配置任务执行和调度。设置几分钟刷新redis中缓存的帖子,因为热帖会随时间变化。
5.SpringSecurity安全框架:1)要继承WebSecurityConfigurerAdapter 2)忽略掉堆资源文件的限制 3)授权:相应角色访问对应的页面,享有相应权限。
权限不够时:1)没有登录(通过异步请求进行判断),跳转到登录页面 2)登录了但没有权限(异步请求查权限),提示用户
6.WebMvcConfig 实现 WebMvcConfigurer接口,在addInterceptors方法中添加拦截器。
7.@ControllerAdvice注解在统一处理异常的类,统一处理异常,记录日志。
8.使用redis存储每日访问量(根据ip)和总访问量。(指定日期范围内的访问量)
9.登录拦截器(对登录请求)。登录凭证拦截器:用户登录生成登录凭证,存放在cookie中(登录是否过期),表示用户已经登录。使用ThreadLocal在本次请求中持有user
ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量
10.Kafka实现消息队列:核心->生产者与消费者模式,发布订阅模式.用户执行某个操作,触发事件,生产者处理事件,将其发送到相应主题,消费者从中读取事件,并且消费。
11.文件上传,上传用户头像等数据到服务器。
12.分页功能:封装page类。默认显示五个页码,from和to两个数据,如果current-from<1,from=current;如果to=current+2>total,to=total;
13.caffeine实现服务器本地缓存,redis实现二级缓存。caffeine->redis->DB
14.设置常量接口,在需要的地方实现它。减小耦合性
15.MD5加密,字符串加密码,实现加盐
16.邮箱邮政激活账号
17.使用前缀树数据结构实现敏感词过滤。--->过滤器和拦截器区别:Filter在servlet之前,Interceptor在Servlet之后
18.JSON数据类型实现异步Ajax请求的数据传递

posted on   Prince_ZaZa  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示