1 Jun 252007 10:34:54 PM org.apache.tomcat.util.http.Parameters processParameters
2  WARNING: Parameters: Invalid chunk ignored.
相信很多人,在使用Tomcat中碰到過上面這個問題。我也為此苦惱過。現將解決辦法,告訴大家及解決問題的一點感悟。
數次碰到這個問題沒有解決后,促使我想到去看源代碼,根據異常信息,我找到拋出異常的代碼段。現將源代碼引入到文章中。
 1           if( nameEnd<=nameStart ) {
 2                 StringBuilder msg = new StringBuilder("Parameters: Invalid chunk ");
 3                 // No name eg &=xx& will trigger this
 4                 if (valEnd >= nameStart) {
 5                     msg.append('\'');
 6                     try {
 7                         msg.append(new String(bytes, nameStart,
 8                                 valEnd - nameStart, DEFAULT_ENCODING));
 9                     } catch (UnsupportedEncodingException e) {
10                         // Should never happen
11                         log.error("Unable to convert bytes", e);
12                     }
13                     msg.append("");
14                 }
15                 msg.append("ignored.");
16                 log.warn(msg);
17                 continue;
18                 // invalid chunk - it's better to ignore
19           }
不知你注意到沒,我在上面代碼第3行的注釋上,加上了下劃線,相信你看到這句話時,知道應該做了。
對了,你猜對了。沒有參數名稱(例如,&=xx&aa=11),每個&后面沒有參數名稱,這樣的情況發生后,將
觸發這個異常。

注:這同樣告訴我們一個問題。對于開源項目,如果你在搜索現有資料不能解決問題時,你可以嘗試去看原代碼,或許可以找到解決問題的辦法。