SpringMVC获取response的问题

本文探讨了在SpringMVC中使用特定方式获取response时遇到的问题,并提供了在不同版本下的解决办法。文中详细介绍了在SpringMVC 3.2.9.release版本下获取response失败的情况及异常信息,同时对比了获取request的成功案例。

SpringMVC获取response的问题:

关于用以下这种方式获取response的一些问题:
((ServletWebRequest) RequestContextHolder.getRequestAttributes()).getResponse();
网上对于这种方式获取response的描述很多,我用的是jar包版本是3.2.9.release
web.xml中肯定也是加了RequestContextListener

结果是获取不到的,报的异常是:
java.lang.ClassCastException: org.springframework.web.context.request.ServletRequestAttributes cannot be cast to org.springframework.web.context.request.ServletWebRequest

对于这个的最终解决方案是在controller方法的入参加上HttpServletResponse response,使用这个response是好使的,而且之前任何一个版本的任何情况,这个都是好使的.


补充:
当然,对应的获取request,两种方法都是好使的.
1.((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
2.方法入参加HttpServletRequest request,一如既往的好使

最后升了包,发现能用了,在这里再补充记录一下
这种方式在springMVC4.0以上的版本都好使了,仔细看了看源码发现,关于这块的源码都变了,所以这种获取response的方法,应该是4.0之后提出来的


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值