当前位置: 首页 > 面试题库 >

@Autowired HttpServletResponse

颜修明
2023-03-14
问题内容

我正在寻找一种自动接线的方法HttpServletResponse。开箱即用的弹簧无法使用,但是我找到了这个描述。这行得通,但是有点烦人,因为那个春天显然有一种机制可以使对象请求的作用域范围(即HttpServletRequest),并且这似乎是一个扎根于顶部的技巧。

有没有办法钩住spring所用的相同机制HttpServletRequest?而且,您知道spring团队为什么决定只使HttpServletRequest自动装配功能(并排除在外HttpServletResponse)吗?


问题答案:

也许有一些解决方法,但这并不是很明显,因为这不是它的本意。Spring
MVC旨在具有单例@Controllerbean,@RequestMapping这些bean提供以请求和响应为参数的方法。

如果您需要在其他地方(服务层)进行响应-请勿这样做。响应不应超出网络(控制器)层。

要注入响应,您需要:-将响应存储在ThreadLocal -中以使工厂bean返回当前响应

关于您显示的示例代码-我不确定您是否不需要工厂bean返回代理(实现HttpServletResponse),而代理又返回当前响应。而且它变得相当复杂。

但最终-您不应该这样做。如果需要拦截多个控制器调用,请使用mvc-
interceptor。如果确实需要使用方面,则可以将响应作为参数传递给截获的方法来获取响应。



 类似资料:

相关阅读

相关文章

相关问答