异常解决:NETERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)

异常解决:NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)


异常:后端数据获取正常,前端页面无法显示。报:NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)异常解决:NETERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)_第1张图片
查看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);
    }

你可能感兴趣的:(异常解决)