异常解决:NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)
异常:后端数据获取正常,前端页面无法显示。报:NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)
查看Tomcat的日志记录:报:Cannot call sendError() after the response has been committed
百度异常:发现是response重复响应,还有过滤器的问题。
参考: https://blog.csdn.net/jieve_y/article/details/79972527
错误代码:
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
.....
.....
if(isAuth(uri)){
//访问公共页面。直接放行
// 及时结束。避免问题: NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)
chain.doFilter(request,response);
return;
}else {
//访问需要登录才能操作的页面。
//先判断用户是否登录。登录->放行。否则->去登录
User user = (User)request.getSession().getAttribute("user");
if(user == null){
response.sendRedirect("/Tmall2/fore/login.jsp");
return;
}
chain.doFilter(request,response);
System.out.println("user is login ....放行");
}
}
//后台放行
chain.doFilter(request,response);
}
修正:(第20行) 就是放行后忘记return了,导致重复放行
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
.....
.....
if(isAuth(uri)){
//访问公共页面。直接放行
// 及时结束。避免问题: NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)
chain.doFilter(request,response);
return;
}else {
//访问需要登录才能操作的页面。
//先判断用户是否登录。登录->放行。否则->去登录
User user = (User)request.getSession().getAttribute("user");
if(user == null){
response.sendRedirect("/Tmall2/fore/login.jsp");
return;
}
chain.doFilter(request,response);
System.out.println("user is login ....放行");
return;
}
}
//后台放行
chain.doFilter(request,response);
}