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),每个&后面没有参数名称,这样的情况发生后,将
触发这个异常。

注:这同样告诉我们一个问题。对于开源项目,如果你在搜索现有资料不能解决问题时,你可以尝试去看原代码,或许可以找到解决问题的办法。