Arrays.asList()
该方法是将数组转换成list集合的方法,有以下四点需要注意:
- 该方法适用于对象型的数组,不建议使用基本类型的数组
- 该方法将list集合和数组联结起来,一个更新,另一个自动更新
- 得到的list集合长度固定,不支持add,remove,clear方法
数组和集合的区别
- 数组是java语言内置的数据类型,是静态的,一旦创建就不允许改变长度和预先定义要存储的数据类型,只能存储一种数据类型,因为是内置的,所以查询速度都是最快的
- 集合是动态的,可以动态改变容量,并且可以不声明存储类型,默认为Object类型,存储对象时放进集合即可,而不用关注对象是什么类型,取出使用时将其转换为相应的类型即可
加密算法
对称加密和非对称加密
- 对称加密:加密密匙和解密密匙相同
- 非对称加密:加密密匙和解密密匙不同
- MD5算法:这是一种信息摘要算法,使用的哈希函数,具有不可逆性,无论多长的输入,算法都会产生输出长度为128bits的一串(通常用16进制表示为32个字符)
- SHA:英文为secure hash algorithm,即安全散列算法,散列又称为哈希。也是一种不可逆的消息摘要算法,对于一定长度的输入能够产生固定长度的输出。sha包含5个算法,分别是sha-1,sha-224,sha-256,sha-384,sha-512,后面四个统称为sha-2算法,后面的数字实则是产生固定长度的bits的位数
base64并不是一种加密算法,而是一种编码方式,是基于64个可打印字符表示二进制数据的方法,常用方式为将图片用base64算法编码成一串字符串进行传输
SpringSecurity antMathchers匹配原则
- ?:匹配任何单字符
- *:匹配0或者任意数量的单字符
- **:匹配0或者更多的目录
前后端分离项目中的请求过程
过程:在前后端分离项目中,浏览器先请求前端服务器,前端服务器返回html页面给浏览器,浏览器在进行渲染的时候渲染到有ajax请求时去请求后端服务器,后端服务器返回json数据给浏览器,浏览器然后完成后面的渲染
ajax请求:Asynchronous JavaScript And XML,是指一种创建交互式,快速动态网页应用的网页开发技术,在无需更新整个页面的情况下(即浏览器请求栏的地址不变),能够更新部分网页内容的技术。同步按照代码顺序执行,而异步不会按照代码顺序执行,异步的效率更高。ajax是一种浏览器通过js异步发起请求,局部更新页面的技术
常用的响应数据类型有:text,xml,json等
前后端分离项目中的跨域问题:
可以使用在前端项目中配置代理的方式解决
Spring Security中静态资源放行
- spring security会拦截所有请求,包括静态资源,所以需要放行静态资源
Spring MVC
- DispatcherServlet:前端控制器,所有的请求都要经过这个servlet统一进行处理分发,相当于一个中央处理器,控制整个流程的执行,它把请求分发给HandlerMapping查找执行链,然后把执行链返回给dispatcherServlet
- HandlerAdapter:处理器适配器,dispatcherServlet把执行链然后发送给处理器适配器,适配出相应的处理器,交给处理器执行