网页显示内容出现重双份原因: 过滤器配置问题

  • 原因: 因为第一次执行过doFilter后resp已经包含了jsp的内容,等再次执行doFilter时会再次输出一次jsp内容,最后会导致内容重复出现。多次重复执行doFilter会导致resp多次重复操作。

  • 解决办法 : 先强转 ...... 最后放行 强转对象 (至于问什么强转后可以解决问题? 目前我暂时未知 make 先记录)

HttpServletRequest request = (HttpServletRequest) req; 
HttpServletResponse response = (HttpServletResponse) resp;
      .....

chain.doFilter(request, response);



  public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
        //req就是服务器创建的请求对象,resp就是服务器创建的响应对象
        //先将req和resp对象进行强转   强转可以解决页面显示内容双份问题 (表格 文字..显示两个..)
        HttpServletRequest request = (HttpServletRequest) req;
        HttpServletResponse response = (HttpServletResponse) resp;

        //使用request和response对象进行解决乱码的操作
        request.setCharacterEncoding("UTF-8");

        if (!request.getRequestURI().contains(".css")) {
            response.setContentType("text/html;charset=UTF-8");
        }
        chain.doFilter(request, response);
    }
posted @ 2021-07-23 11:19  Qyuelin  阅读(309)  评论(0)    收藏  举报