spring-mvc中RequestContextHolder.currentRequestAttributes()返回null提示java.lang.IllegalStateException: No thread-bound request found,,问题:在Spring M
分享于 点击 29063 次 点评:98
spring-mvc中RequestContextHolder.currentRequestAttributes()返回null提示java.lang.IllegalStateException: No thread-bound request found,,问题:在Spring M
问题:
在Spring MVC项目中在web请求处理过程中使用ServletRequestAttributes srAttrs = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
获得当前请求时出现如下异常信息:
Caused by: java.lang.IllegalStateException: No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet/DispatcherPortlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request.
要解决这个问题,需要在web.xml中配置org.springframework.web.context.request.RequestContextListener
,如下配置:
<web-app ...> <listener> <listener-class> org.springframework.web.context.request.RequestContextListener </listener-class> </listener></web-app>
用户点评