我有一个 spring portlet mvc 应用程序。我有一个 jsp,它使用 Ajax 请求向资源 URL 发出 GET 请求,然后使用 Spring Jackson 映射器(MappingJacksonJsonView)类返回 json。GET 请求非常慢,可能需要几秒钟才能执行。我注意到一个用例;
- 我在我的应用程序中单击 AJAX 提交链接
- 我在请求完成之前刷新页面
- 我重复上面的步骤
我的服务器日志开始抛出非法状态异常
原因:java.lang.IllegalStateException: getOutputStream() 已经在 org.apache.catalina.connector.Response.getWriter(Response.java:611) at org.apache.catalina.connector.ResponseFacade.getWriter (ResponseFacade.java:198) 在 javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:112)
因为 Spring 负责创建和删除输出读取器和写入器,所以我无法捕获非法异常,所以我发现很难隔离确切问题发生的位置。
任何建议或帮助将不胜感激。谢谢。