异步线程中通过 HttpServletRequest#getRequestURI 有时拿到值,有时拿到 null
由于 HttpServletRequest
不是线程安全的(后知后觉),当主线程完成自己的工作返回response后,相应的 HttpServletRequest
等对象就会被销毁。
所以,在异步线程中可能会出现 有时可以拿到正确的值,有时却拿到的是 null 的情况
总结:
异步线程中不要传递:HttpServletRequest, HttpServeltResponse。
直接在主线程中从 request 中取出真实的参数值进行传递
参考:
https://segmentfault.com/a/1190000018593620