Spring Request Scope Error : No Thread-Bound Request Found
Posted on: 2013-10-22, Last modified: 2015-07-31, View: 4894

Spring web应用中当需要在一个"Request" scope类中调用"session" scopte的对象:

@Component
@Scope("request")
public class PaymentService {
 
    @Autowired
    UserBo userBo; 
    //...

会抛出这样的异常:


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.
    //... 28 more

 

Solution:

在web.xml里添加RequestContextListener

<listener>
       <listener-class>
            org.springframework.web.context.request.RequestContextListener
        </listener-class>
</listener>

 

Go
Friend Links:
Sonft