Spring實現(xiàn)在非controller中獲取request對象
更新時間:2021年08月26日 11:00:59 作者:虎哥和你一起學編程
這篇文章主要介紹了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)文章
java創(chuàng)建excel示例(jxl使用方法)
Java Excel是一開放源碼項目,通過它Java開發(fā)人員可以讀取Excel文件的內(nèi)容、創(chuàng)建新的Excel文件、更新 已經(jīng)存在的Excel文件。下面是使用方法,包括去掉網(wǎng)格線、字體設(shè)置、單元格設(shè)置、對齊方式等設(shè)置2014-03-03