1会话
会话技术:用户打开浏览器,访问web的服务器资源,会话建立,直到有一方断开连接,会话结束,在一次会话中可以包含多次请求或者响应。
会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一个浏览器,以便在同-次会话的多次请求中共享数据
会话跟踪方案:客户端会话跟踪技术cookie,服务端会话跟踪技术:session. 令牌技术
cookie:cookie不能跨域,移动端无法使用,用户可以自己禁用cookie
session:
跨域区分三个维度:端口,ip/域名,协议
令牌技术
令牌技术(JWT):即服务器给用户一个唯一的身份
3.过滤器
是javaweb三大组件之一(listener,filter,servlet),可以把对资源的请求拦截下来比如:登录校验,统一编码处理,敏感字符处理
要想在springBoot里面使用javaweb的组件功能,必须要添加注解@ServletComponentScan
执行流程:
配置Filter的拦截路径有2种方式,一种是注解,一种是xml方式 我们如果使用注解来进行配置,那么我们就需要使用@WebFilter
@ServletComponentScan //开启了对servlet组件的支持,此组件并不是SpringBoot提供的,要想使用必须增加此注解
一个web应用中可以配置多过滤器,就形成了一个过滤器链,注解配置的filter,是按照过滤器类名的自然排序
登录校验过程:
3.拦截器
拦截器的拦截路径:
拦截器执行流程:
dispatcherServlet:前端的配置
全局异常处理器:
@RestControllerAdvice = @ControllerAdvice +@ResponseBody
@Transaction注解:事务管理
默认情况下只有运行异常(RuntimeException)才能够回滚事务,rollBackFor属性用于控制出现何种异常才回滚事务
事务属性-传播行为:
大部分情况下用前两个