Jun
25
,
2007
10
:
34
:
54
PM org.apache.tomcat.util.http.Parameters processParameters
WARNING: Parameters: Invalid chunk ignored.
WARNING: Parameters: Invalid chunk ignored.
相信很多人,在使用Tomcat中碰到过上面这个问题。我也为此苦恼过。现将解决办法,告诉大家及解决问题的一点感悟。
数次碰到这个问题没有解决后,促使我想到去看原代码,根据异常信息,我找到抛出异常的代码段。现将原代码引入到文章中。
if( nameEnd<=nameStart ) {
StringBuilder msg = new StringBuilder("Parameters: Invalid chunk ");
// No name eg &=xx& will trigger this
if (valEnd >= nameStart) {
msg.append('\'');
try {
msg.append(new String(bytes, nameStart,
valEnd - nameStart, DEFAULT_ENCODING));
} catch (UnsupportedEncodingException e) {
// Should never happen
log.error("Unable to convert bytes", e);
}
msg.append("' ");
}
msg.append("ignored.");
log.warn(msg);
continue; // invalid chunk - it's better to ignore
}
不知你注意到没,我在上面代码第3行的注释上,加上了下划线,相信你看到这句话时,知道应该做了。
对了,你猜对了。没有参数名称(例如,&=xx&aa=11),每个&后面没有参数名称,这样的情况发生后,将
触发这个异常。