关于SpringBoot+Vue前后端分离项目实战 后端 3.3节
请问一下,是不是每一次请求(再拦截范围中),都需要过一遍连接器,每一次请求都会保留一份当前请求的用户信息(ThreadLoacl实现)每次请求都会起一个线程,请求完毕之后清除保留的信息,线程随之销毁,是这样理解吗?
关于SpringBoot+Vue前后端分离项目实战 后端 3.3节
请问一下,是不是每一次请求(再拦截范围中),都需要过一遍连接器,每一次请求都会保留一份当前请求的用户信息(ThreadLoacl实现)每次请求都会起一个线程,请求完毕之后清除保留的信息,线程随之销毁,是这样理解吗?
是的,对于每一次请求,连接器会处理请求并将请求传递给后端的相应处理程序。在拦截器范围内,可以执行一些预处理和后处理的操作。
关于用户信息的保留和访问,常见的做法是使用ThreadLocal来实现。在每次请求到达后端处理程序之前,可以在拦截器中将当前请求的用户信息存储在ThreadLocal中,以便后续的业务逻辑可以访问这些信息。每个请求都会有自己的线程,当请求处理完成后,线程会被销毁,与之关联的ThreadLocal中的信息也会被清除。
这种方式可以确保每个请求的用户信息在请求处理期间是独立的,不会被其他请求所干扰。使用ThreadLocal可以方便地在同一线程内共享数据,但需要注意及时清理ThreadLocal,避免潜在的内存泄漏问题。
需要注意的是,以上描述是一般性