ThreadLocal
来源:5-2 Spring MVC开发环境搭建-web.xml配置

行望星烁
2018-03-30
大神 请问一下目前有个业务场景是用户登录以后后台会返回一个token,此时我将token存储到ThreadLocal当中,后面再拦截器在ThreadLocal中并未找到token的值
写回答
1回答
-
你好,你这个的理解是有问题的。
threadLocal是针对线程间封闭的,换句话说,就是在某个线程里往threadLocal放入了内容,在这个线程其他部分可以随时取出来使用。
你这里请求了不同的接口,不同的请求到后台是不同的线程,因此肯定取不到内容。
课程里threadLocal那样使用是ok的,是因为在每个请求进来时,在过滤器里先拿到当前用户写入threadLocal,然后接口处理时可以从threadLocal里随时取出放入的信息,这个都是在一个线程里完成。
你这里token的使用是属于会话(session)级别的,只要用户保持登录状态,就可以一直拿到同一个值。这个和threadLocal完全是两回事,你再看看课程,好好理解一下这里吧。
祝你学习愉快~
112018-03-30
相似问题