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();
		}
	}
相关推荐
飞鱼&10 分钟前
HashMap相关问题详解
java·hashmap
白露与泡影11 分钟前
面试:Spring中单例模式用的是哪种?
spring·单例模式·面试
没有bug.的程序员17 分钟前
Spring Cloud Alibaba 生态总览
java·开发语言·spring boot·spring cloud·alibaba
快乐非自愿1 小时前
Java垃圾收集器全解:从Serial到G1的进化之旅
java·开发语言·python
树在风中摇曳1 小时前
Java 静态成员与继承封装实战:从报错到彻底吃透核心特性
java·开发语言
键来大师5 小时前
Android15 RK3588 修改默认不锁屏不休眠
android·java·framework·rk3588
合作小小程序员小小店6 小时前
web网页开发,在线%考试管理%系统,基于Idea,vscode,html,css,vue,java,maven,springboot,mysql
java·前端·系统架构·vue·intellij-idea·springboot
多多*7 小时前
maven常用的命令
java·log4j·maven
xie_pin_an7 小时前
MyBatis-Plus 实战:MPJLambdaWrapper 多表联查用法全解析
java·spring boot·spring·mybatis
ᐇ9597 小时前
Java LinkedList集合全面解析:双向链表的艺术与实战
java·开发语言·链表