No thread-bound request found错误(转)

本文详细介绍了在使用Spring、Struts、Hibernate框架时,若Action类使用session、request、response等域会导致HTTPStatus500错误的解决方案。通过在web.xml中加入RequestContextListener,成功解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该报错的解决办法参考自:http://javeye.iteye.com/blog/238559

 

使用spring+struts+hibernate时,如果action没有使用session、request、response时,正常。

但使用了上述3个域,报了如下错误

HTTP Status 500 - Unable to instantiate Action, com.ssh.action.user.SearchUserAction, defined for 'listAction' in namespace '/user'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.

---------------------

我当时的写法是写了一个父类SuperAction,该类继承ActionSupport,实现了3大接口:

implements SessionAware,ServletRequestAware,ServletResponseAware,ServletContextAware{...}

目的是在action中使用request、response、session来存储、传递数据

写了一个普通action类AbcAction extends SuperAction,结果报了上述错误。除去继承的SuperAction,可以正常查询数据库(ssh)

------------------------

查了网上的帖子,参考自:http://javeye.iteye.com/blog/238559

在web.xml中,strust的Filter之前加入

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

OK,没有那个报错了。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值