admin管理员组文章数量:1608823
今天项目导出excel功能不好使了,后台抛出如下异常:
二月 13, 2019 9:32:33 上午 org.apache.coyote.http11.AbstractHttp11Processor process
信息: Error parsing HTTP request header
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:194)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1050)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
参考网友的解决方法,大致分为:
1.修改tomcat配置server.xml,添加或调整maxHttpHeaderSize:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" maxHttpHeaderSize="8192" />
2.修改https请求为http(我的本来就是http请求。。。)
3.使用layer时,请求参数导致,详见:https://wwwblogs/yingrufeng/p/7851846.html
导出功能是使用window.location.href=url方式导出相应的excel的,此时我就猜测会不会和window.location.href有关,经观察发现传递参数过多时便会引起该异常,那么问题来了,如何解决window.location.href传递参数过多问题呢?问了问度娘,还是从中找到了决绝办法:Kingram的一篇文章便有举例,点赞。
引用:
post('******.do',{"username":p1,"userId":p2,"userCode":p3,"imgUrl":imgUrl});
function post(url, params) {
// 创建form元素
var temp_form = document.createElement("form");
// 设置form属性
temp_form .action = url;
temp_form .target = "_self";
temp_form .method = "post";
temp_form .style.display = "none";
// 处理需要传递的参数
for (var x in params) {
var opt = document.createElement("textarea");
opt.name = x;
opt.value = params[x];
temp_form .appendChild(opt);
}
document.body.appendChild(temp_form);
// 提交表单
temp_form .submit();
}
如此便解决了该异常。
总结:
抛出该异常原因之一:window.location.href传递参数过多
本文标签: httprequestErrorparsingoccurrences
版权声明:本文标题:Error parsing HTTP request headerNote: further occurrences of HTTP header parsing errors will *** 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1728548825a1163182.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论