Springリクエストスコープエラー:スレッドバインドされたリクエストが見つかりません
問題
SpringでWebアプリケーションを開発するには、 ”
request
“のスコープでBeanを作成します。
@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
解決策
それを修正するには、http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/web/context/request/RequestContextListener.html[RequestContextListener]リスナーを `web.xml`ファイルに登録します。
File:web.xml
<web-app ...> <listener> <listener-class> org.springframework.web.context.request.RequestContextListener </listener-class> </listener> </web-app>