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();
		}
	}
相关推荐
愤怒的代码9 分钟前
在 Android 中执行 View.invalidate() 方法后经历了什么
android·java·kotlin
memgLIFE14 分钟前
SQL 优化方法详解(1)
java·数据库·sql
雨中飘荡的记忆15 分钟前
Spring AOP详解:从原理到实战
spring
2201_7578308716 分钟前
Bean原理篇
java·开发语言
小宇的天下21 分钟前
Calibre 3Dstack--每日一个命令day 6 [process和export layout](3-6)
java·前端·数据库
牛奔33 分钟前
docker compose up 命令,默认配置文件自动查找规则
java·spring cloud·docker·容器·eureka
工具罗某人33 分钟前
docker快速部署jenkins
java·docker·jenkins
华如锦1 小时前
四:从零搭建一个RAG
java·开发语言·人工智能·python·机器学习·spring cloud·计算机视觉
Tony_yitao1 小时前
22.华为OD机试真题:数组拼接(Java实现,100分通关)
java·算法·华为od·algorithm
JavaGuru_LiuYu1 小时前
Spring Boot 整合 SSE(Server-Sent Events)
java·spring boot·后端·sse