spring 容器静态获取HttpServletRequest/HttpServletResponse

1、通过静态方法获取 HttpServletRequest

java 复制代码
 /**
     *  从DispatcherServlet中获取到当前的request
     * @return
     */
    public static HttpServletRequest getRequest() {
        // 从当前threadlocal中获取到
        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
        return servletRequestAttributes.getRequest();
    }

2、通过静态方法获取 HttpServletResponse

java 复制代码
 /**
     *  从DispatcherServlet中获取到当前的response
     * @return
     */
    public static HttpServletResponse getResponse() {
        // 从当前threadlocal中获取到
        ServletWebRequest servletRequestAttributes = (ServletWebRequest)RequestContextHolder.getRequestAttributes();
        return servletRequestAttributes.getResponse();
    }

3、response 写出json数据

java 复制代码
/**
	 *   写出json数据,任意数据类型
	 * */
	public static void writeJsonToObj(HttpServletResponse response, Object obj) {
		response.setCharacterEncoding("UTF-8");  
	    response.setContentType("application/json; charset=utf-8");  
	    PrintWriter out = null;  
		try {
			 out = response.getWriter();  
			 out.write(JSONObject.toJSONString(obj));
			 out.flush();
		} catch (IOException e) {
			e.printStackTrace();
			throw new IllegalStateException("IO异常,:" + e.getMessage());
		} finally {
			if (out != null)
				out.close();
		}
	}
相关推荐
Thomas_YXQ3 分钟前
Unity3D Lua集成技术指南
java·开发语言·驱动开发·junit·全文检索·lua·unity3d
ShiinaMashirol1 小时前
代码随想录打卡|Day27(合并区间、单调递增的数字、监控二叉树)
java·算法
东阳马生架构3 小时前
Nacos简介—3.Nacos的配置简介
java
北极的企鹅883 小时前
XML内容解析成实体类
xml·java·开发语言
oioihoii3 小时前
C++23 中 static_assert 和 if constexpr 的窄化布尔转换
java·jvm·c++23
聂 可 以3 小时前
调整IntelliJ IDEA当前文件所在目录(包路径)的显示位置
java·ide·intellij-idea
东阳马生架构3 小时前
Sentinel源码—7.参数限流和注解的实现一
java·sentinel
李白的粉3 小时前
基于springboot的在线教育系统
java·spring boot·毕业设计·课程设计·在线教育系统·源代码
码农10087号3 小时前
Hot100方法及易错点总结2
java
iuyou️4 小时前
Spring Boot知识点详解
java·spring boot·后端