Spring實現(xiàn)在非controller中獲取request對象
在非controller中獲取request對象
在Controller中,我們可以直接在參數(shù)中加上HttpServletRequest request,springMVC就會自動將request綁定進參數(shù),而如果我們想在其他地方獲取request就要如下這么做了。
首先在web.xml中添加一個監(jiān)聽器
針對request級別的,要和ContextLoaderListener區(qū)分開
<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();
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Mybatis實現(xiàn)SQL映射的兩種方法(xml文件形式和注解形式)
這篇文章主要介紹了Mybatis實現(xiàn)SQL映射的兩種方法(xml文件形式和注解形式),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
Java高性能實體類轉(zhuǎn)換工具MapStruct的使用教程詳解
MapStruct 是一個代碼生成器,它基于約定優(yōu)于配置的方法,極大地簡化了 Java bean 類型之間的映射實現(xiàn),本文主要介紹了MapStruct的具體使用以及如何進行實體類轉(zhuǎn)換,感興趣的可以了解下2024-03-03
Spring Shell 命令行實現(xiàn)交互式Shell應(yīng)用開發(fā)
本文主要介紹了Spring Shell 命令行實現(xiàn)交互式Shell應(yīng)用開發(fā),能夠幫助開發(fā)者快速構(gòu)建功能豐富的命令行應(yīng)用程序,具有一定的參考價值,感興趣的可以了解一下2025-04-04
Spring類型轉(zhuǎn)換 ConversionSerivce Convertor解析
這篇文章主要介紹了Spring類型轉(zhuǎn)換 ConversionSerivce Convertor的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-11-11

