zoukankan      html  css  js  c++  java
  • Request processing failed; nested exception is java.lang.IllegalStateException: getOutputStream() has already been called for this response

    问题分析:

          在ServletRequest servletRequest中已经存在一个项目名称,此时,又用项目名称访问 http://localhost:8080/rent/pdf/preview rent这个名称已经在Application.yml中设置了,

         这时会生成一个缓存在servletRequest中,访问就会有重复的/rent,就会报错

    解决方案

                    清空servletRequest中存在的/rent缓存

     1  @Override
     2     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException {
     3 
     4         HttpServletResponse response = (HttpServletResponse) servletResponse;
     5 
     6         response.setHeader("Access-Control-Allow-Origin", "*");
     7         response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
     8         response.setHeader("Access-Control-Max-Age", "3600");
     9         response.setHeader("Access-Control-Allow-Headers", "x-requested-with,Content-Type,XFILENAME,XFILECATEGORY,XFILESIZE");
    10 
    11         logger.info("*********************************过滤器被使用**************************");
    12         try {
    13             filterChain.doFilter(servletRequest, servletResponse);
    14         } catch (IllegalStateException e) {
    15             servletRequest.getServletContext().removeAttribute("/rent");
    16         } catch (ServletException e) {
    17             e.printStackTrace();
    18         }
    19 
    20     }
    View Code

      重点:

    catch (IllegalStateException e) {
    servletRequest.getServletContext().removeAttribute("/rent");
    }
  • 相关阅读:
    ajax01
    django04
    数据库
    WeakHashMap类
    IdentityHashMap
    Hashtable类
    LinkedHashMap类
    HashMap和TreeMap类
    PriorityQueue
    Synchronized
  • 原文地址:https://www.cnblogs.com/liuyangfirst/p/9922101.html
Copyright © 2011-2022 走看看