1. 程式人生 > >Servlet端 接收不到4096,8192長度的JSON引數

Servlet端 接收不到4096,8192長度的JSON引數

Servlet端的日誌顯示,客戶端傳過來的JSON引數是空值。

但是在客戶端的日誌顯示,已將JSON引數傳送過去。

經調查發現,加減1位後的JSON引數均可以正常傳送。

只有8192,4096長度的JSON引數不能正常傳送。

考慮到8192,4096,2048,1024的特殊性,繼續調查發現問題出在TOMCAT伺服器上。

執行環境:Tomcat5.5

CoyoteReader.class中的readLine方法中,有BUG

          if (pos == 0 ) {
            return null;
          }

而在Tomcat6.0修復了這個BUG。

          if ((pos == 0) && (aggregator == null)) {
            return null;
          }

Servlet端的日誌顯示,客戶端傳過來的JSON引數是空值。

但是在客戶端的日誌顯示,已將JSON引數傳送過去。

經調查發現,加減1位後的JSON引數均可以正常傳送。

只有8192,4096長度的JSON引數不能正常傳送。

考慮到8192,4096,2048,1024的特殊性,繼續調查發現問題出在TOMCAT伺服器上。

執行環境:Tomcat5.5

CoyoteReader.class中的readLine方法中,有BUG

          if (pos == 0 ) {
            return null;
          }

而在Tomcat6.0修復了這個BUG。

          if ((pos == 0) && (aggregator == null)) {
            return null;
          }