1 Jun 25, 2007 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),每个&后面没有参数名称,这样的情况发生后,将
触发这个异常。
注:这同样告诉我们一个问题。对于开源项目,如果你在搜索现有资料不能解决问题时,你可以尝试去看原代码,或许可以找到解决问题的办法。