1.使用前提
需要在Filter过滤器doFilter方法中使用,使用示列:
@Override
public void doFilter(ServletRequest rq, ServletResponse rp, FilterChain chain){
HttpServletRequest request=(HttpServletRequest) rq;
HttpServletResponse response=(HttpServletResponse) rp;
//2.使用复制响应包装过滤器的响应执行chain.doFilter
HttpServletResponseCopier wrapper = new HttpServletResponseCopier(response);
try {
chain.doFilter(request, wrapper);
} catch (Exception e) {
//执行chain.doFilter(request, wrapper);时发生异常:
}
//3.(将截取的响应写出给过滤器的响应)一.截取向浏览器写入结果,二.写出响应给浏览器
String result = wrapper.writeResponse(response);
}
优势:
1.无需操心HttpServletResponse是PrintWriter还是OutputStream方式写出结果都可以获取到值。
2.使用简单依赖即用
其他注意事项:
该jar包是我私人的包,该包只有200多k 其中只有三个类,使用maven项目的小伙伴需要解压反编译后使用。
HttpServletResponseCopier需要下载jar
阿里云盘:阿里云盘分享
提取码:t6i2