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();
		}
	}
相关推荐
默 语5 小时前
MySQL中的数据去重,该用DISTINCT还是GROUP BY?
java·数据库·mysql·distinct·group by·1024程序员节·数据去重
oDeviloo6 小时前
新版IntelliJ IDEA个性化设置兼容老版习惯
java·ide·intellij-idea
一只小透明啊啊啊啊6 小时前
Java Web 开发的核心组件:Servlet, JSP,Filter,Listener
java·前端·servlet
spencer_tseng7 小时前
Eclipse Uninstall Software
java·ide·eclipse
嗯、.7 小时前
使用 iText 9 为 PDF 添加文字水印的完整实战
java·pdf·itext
怪兽20148 小时前
缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
java·缓存·面试
皮皮林5518 小时前
Java 25 正式发布:更简洁、更高效、更现代!
java
源码_V_saaskw8 小时前
JAVA国际版二手交易系统手机回收好物回收发布闲置商品系统源码支持APP+H5
java·开发语言·微信·智能手机·微信小程序·小程序
جيون داد ناالام ميづ9 小时前
Spring AOP核心原理分析
java·数据库·spring
霸道流氓气质9 小时前
SpringBoot+MybatisPlus+自定义注解+切面实现水平数据隔离功能(附代码下载)
java·spring boot·后端