返回顶部

收藏

spring-mvc中RequestContextHolder.currentRequestAttributes()返回null提示java.lang.IllegalStateException: No thread-bound request found

更多

问题:

在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>

标签:Spring-MVC,spring,java

收藏

0人收藏

支持

0

反对

0

发表评论