public class ResponseFilter implements Filter{
@Autowired
private PropertiesConfig propertiesConfig;
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
throws IOException, ServletException {
// 解决 @Autowired 为 null 问题
if(propertiesConfig==null){
ServletContext servletContext = request.getServletContext();
WebApplicationContext webApplicationContext = WebApplicationContextUtils.getWebApplicationContext(servletContext);
propertiesConfig = webApplicationContext.getBean(PropertiesConfig.class);
}
HttpServletRequest req = (HttpServletRequest)request;
// 使用我们自定义的响应包装器来包装原始的ServletResponse
ResponseWrapper wrapper = new ResponseWrapper((HttpServletResponse) response);
// 这句话非常重要,注意看到第二个参数是我们的包装器而不是response
filterChain.doFilter(request, wrapper);
// 获取到我们所截获的值 --> 做处理之前所获取到的值
String result = wrapper.getResult();
// 输出最终的结果 --> 做完处理之后再把这个值返回回去
response.getOutputStream().write(responseStr.getBytes());
}
@Override
public void init(FilterConfig arg0)
throws ServletException {
}
@Override
public void destroy() {
}
}
Java 拦截器中@Autowired 为空问题解决
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 具体的为什么需要这样写才可以注入service目前还没有理解透,只是多次试验后发现这样可以注入. 因为LoginI...
- springboot 设置拦截器 问题就出在自定义拦截器中: ICurrentUserService 这个只有一个...
- 问题描述: 在使用jsoup爬取其他网站数据的时候,发现class是带空格的多选择,如果直接使用doc.getEl...
- 部分摘自原文链接:https://www.zhihu.com/question/27426689https://s...
- 说明: 在自己写一个spring boot demo的时候,想着根据session的过期时间来返回登录页面,在自定...