RequestContextHolder作用
RequestContextHolder的作用
通过RequestContextHolder的静态方法可以随时随地取到当前请求的request对象,下图为该类的主要方法:
![](https://img2022.cnblogs.com/blog/718234/202208/718234-20220812111132360-155070124.png)
通过getRequestAttributes(),可以返回一个ServletRequestAttributes对象,这是个servlet容器的描述对象,通过这个对象,就可以轻松获得请求和响应等对象,可以类比理解为ServletRequestAttributes对象有class文件对象的作用,RequestContextHolder类比理解为一个类加载器。得到对象以后。来看看它的方法:
![](https://img2022.cnblogs.com/blog/718234/202208/718234-20220812111206060-1678166378.png)
是不是清晰很多,下面是他的一个实现:
现在得到request对象以后,就可以获取请求想过的ip,地址,请求内容等等信息,比如requedt.getCookies()获取页面的language进行国际化切换ThreadLocal.setLanguage(en_us)。
补充:前端通过url地址发送请求的时候,发送的是一个request的文本文件,这时后端服务器,如tomcat接受到这个文本文件对象后,通过tomcat内部的servlet的接口,将这个文本文件转化为request对象,然后和数据线交互后,生成对应的response对象,再以同样的方式转化为文本文件传给前端。
本文转载:https://blog.csdn.net/weixin_44284706/article/details/110630551