异步线程中通过 HttpServletRequest#getRequestURI 有时拿到值,有时拿到 null

由于 HttpServletRequest 不是线程安全的(后知后觉),当主线程完成自己的工作返回response后,相应的 HttpServletRequest 等对象就会被销毁。

所以,在异步线程中可能会出现 有时可以拿到正确的值,有时却拿到的是 null 的情况

 

总结:

异步线程中不要传递:HttpServletRequest, HttpServeltResponse。
直接在主线程中从 request 中取出真实的参数值进行传递

 

参考:
https://segmentfault.com/a/1190000018593620  

 

posted on 2022-05-10 11:23  快鸟  阅读(619)  评论(0编辑  收藏  举报