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();
		}
	}
相关推荐
OtIo TALL6 小时前
redis7 for windows的安装教程
java
uNke DEPH7 小时前
Spring Boot的项目结构
java·spring boot·后端
xixingzhe27 小时前
idea启动vue项目
java·vue.js·intellij-idea
zhenxin01227 小时前
Spring Boot 3.x 系列【3】Spring Initializr快速创建Spring Boot项目
spring boot·后端·spring
wzl202612137 小时前
企业微信定时群发技术实现与实操指南(原生接口+工具落地)
java·运维·前端·企业微信
凌波粒8 小时前
Java 8 “新”特性详解:Lambda、函数式接口、Stream、Optional 与方法引用
java·开发语言·idea
曹牧8 小时前
Eclipse:悬停提示(Hover)
java·ide·eclipse
oyzz1208 小时前
Spring EL 表达式的简单介绍和使用
java·后端·spring
iNgs IMAC8 小时前
Redis之Redis事务
java·数据库·redis
程序员小假9 小时前
向量检索的流程是怎样的?Embedding 和 Rerank 各自的作用?
java·后端