Spring实现在非controller中获取request对象
更新时间:2021年08月26日 11:00:59 作者:虎哥和你一起学编程
这篇文章主要介绍了Spring实现在非controller中获取request对象方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
在非controller中获取request对象
在Controller中,我们可以直接在参数中加上HttpServletRequest request,springMVC就会自动将request绑定进参数,而如果我们想在其他地方获取request就要如下这么做了。
首先在web.xml中添加一个监听器
针对request级别的,要和ContextLoaderListener区分开
<listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener>
然后在程序中就可以使用
如下的代码来获取request对象了
HttpServletRequest request=((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
其实背后的原理就是将这个request对象存在ThreadLocal线程变量里面。
非controller层获取response和request对象
如下所示
ServletRequestAttributes attrs = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletResponse response = attrs.getResponse(); HttpServletRequest request = attrs.getRequest();
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Mybatis实现SQL映射的两种方法(xml文件形式和注解形式)
这篇文章主要介绍了Mybatis实现SQL映射的两种方法(xml文件形式和注解形式),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-07-07
Java高性能实体类转换工具MapStruct的使用教程详解
MapStruct 是一个代码生成器,它基于约定优于配置的方法,极大地简化了 Java bean 类型之间的映射实现,本文主要介绍了MapStruct的具体使用以及如何进行实体类转换,感兴趣的可以了解下2024-03-03
Spring Shell 命令行实现交互式Shell应用开发
本文主要介绍了Spring Shell 命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价值,感兴趣的可以了解一下2025-04-04
Spring类型转换 ConversionSerivce Convertor解析
这篇文章主要介绍了Spring类型转换 ConversionSerivce Convertor的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下2016-11-11


最新评论