分享

Tomcate中Parameters: Invalid chunk ignored错误及解决办法

 静谧的知识园林 2011-12-14
先引用一段文字:来源于网络:
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),每个&后面没有参数名称,这样的情况发生后,将
触发这个异常。

注:这同样告诉我们一个问题。对于开源项目,如果你在搜索现有资料不能解决问题时,你可以尝试去看原代码,或许可以找到解决问题的办法。
 
 
当POST body 或 query-string 参数中包含'&=’、'&&’、'?&’或以'&’结束
字符串时出现警告: Parameters: Invalid chunk ignored.

EG:
提交的URL为http://[localhost]:[8080]/[webapp]/main.do?&param=1
正确的应该为http://[localhost]:[8080]/[webapp]/main.do?param=1
 
 

但是具体找到问题的地方并不在上述之列,是有个ajax的路径写的不对。

new Ajax.Request(
        "/addCart2.action ",{
            method:'get',
            parameters:"t2code="+t2code+"&itemTimes="+operNum+"&class3="+proOption+"&matchFlag="+matchFlag+"&"+Math.random(),

 

红色部分是不需要的,parameters参数里本身是会加这个?的,现在加了就相当于2个,tomcat6就会报警告~


解决办法:
1、传了多个参数,有的没有用到

2、多个参数用&&连接(我老是这么写)改成一个&就OK了。

PS:以前用Tomcat5.0.X时,老是用两个&连接,没出现过这个Warning。用了6.X版本就出现了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多