歲月如哥
          人生非夢
          posts - 50,comments - 144,trackbacks - 0
          <2009年6月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          常用鏈接

          留言簿(11)

          隨筆分類(45)

          相冊

          收藏夾(21)

          friends

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          在用戶實際環(huán)境的tomcat日志(localhost_log.2009-06-22.txt)看到下面這個錯
          引用:
          2009-06-22 12:39:41 StandardWrapperValve[ajax]: Servlet.service() for servlet ajax threw exception
          java.lang.IllegalStateException: Post too large
                  at org.apache.coyote.tomcat5.CoyoteRequest.parseRequestParameters(CoyoteRequest.java:2405)
                  at org.apache.coyote.tomcat5.CoyoteRequest.getParameter(CoyoteRequest.java:1073)
                  at org.apache.coyote.tomcat5.CoyoteRequestFacade.getParameter(CoyoteRequestFacade.java:265)
                  at org.ajaxanywhere.AAUtils.isAjaxRequest(AAUtils.java:34)
                  at org.ajaxanywhere.AAFilter.doFilter(AAFilter.java:45)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
                  at com.thunisoft.summer.web.filter.CharsetFilter.doFilter(CharsetFilter.java:48)
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
                  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
                  at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
                  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
                  at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
                  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
                  at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
                  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
                  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
                  at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
                  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
                  at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
                  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
                  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                  at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
                  at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
                  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
                  at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
                  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
                  at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
                  at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
                  at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
                  at java.lang.Thread.run(Thread.java:534)
          在另外一個catalina_log.2009-06-22.txt日志文件中,有下面這句話
          引用:
          2009-06-22 12:39:41 CoyoteRequest Parameters were not parsed because the size of the posted data was too big. Use the maxPostSize attribute of the connector to resolve this if the application should accept large POSTs.
          上網查了一下,說是tomcat默認接收的POST提交數據最大為2M,如果沒有修改過配置post提交的數據超過這個就報上面的錯了。這個配置在%tomcat-5.0.28%conf\server.xml中的我們用到的connector節(jié)點的屬性。其中tomcat的文檔是這么描述的
          引用:
          maxPostSize
             The maximum size in bytes of the POST which will be handled by the container FORM URL parameter parsing. The feature can be disbled by setting this attribute to a value inferior or equal to 0. If not specified, this attribute is set to 2097152 (2 megabytes).
          準備復現(xiàn)問題,第一個想到的就是XX系統(tǒng)文書保存到數據庫,并且為ajax的post方式提交(文件上傳不會報這個錯)
          代碼:
          var map = new Map();
                          map.put("key", "fy.doceditor.updateDoc");
                          map.put("jzjd", jzjd);
                          map.put("caseType", caseType);
                          map.put("caseId", caseId);
                          map.put("docId", docId);
                          map.put("wsxh", wsxh);
                          map.put("doc", docDetail);
                          var query = new QueryObj(map,updated);
                          query.send();
          所以創(chuàng)建了一個文書,粘貼了一個8M的word文書,點保存之后報js錯。把上面這個docDetail保存成文件,發(fā)現(xiàn)大小為7.94 MB (8,332,134 字節(jié)),檢查日志有post too large錯。
          按照文檔描述,修改xml文件配置如下:
          引用:
          <Connector port="8080"
                         maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                         enableLookups="false" redirectPort="8443" acceptCount="100"
                         debug="0" connectionTimeout="20000"
                         disableUploadTimeout="true" maxPostSize="0"/>
          問題得到解決。

             一般來說大部分post提交都是沒有問題的,但是還是要仔細考慮一下項目是否會出現(xiàn)這種情況,最好是修改一下tomcat的配置。有時候需要注意這個異常只會記錄在tomcat的日志文件中。
          posted on 2009-06-22 17:36 歲月如歌 閱讀(1701) 評論(1)  編輯  收藏 所屬分類: java

          FeedBack:
          # re: tomcat5報Post too large的錯
          2009-06-23 10:04 | 找個美女做老婆
          Java樂園技術交流,http://www.javaly.cn
          2群群號:28840096  回復  更多評論
            
          主站蜘蛛池模板: 饶河县| 阿坝| 武功县| 星子县| 阳泉市| 伊金霍洛旗| 广西| 庆云县| 邢台市| 桑植县| 砚山县| 宁河县| 泰顺县| 太和县| 大荔县| 舒兰市| 神池县| 灌南县| 监利县| 白山市| 苏尼特左旗| 泰来县| 峨山| 金川县| 英德市| 宿州市| 北辰区| 新兴县| 藁城市| 昭觉县| 左云县| 渭南市| 柘荣县| 白银市| 康定县| 门源| 拜泉县| 民权县| 拉孜县| 大新县| 隆子县|