重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

tomcat进行httprequest解析报错-创新互联

Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors...java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are

创新互联为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到成都网站设计、成都网站建设、外贸网站建设, 我们的网页设计师为您提供的解决方案。

先将异常信息贴出:

tomcat进行http request解析报错

该问题是tomcat进行http request解析的时候报的错,网上的解决办法主要是修改Tomcat的server.xml,在的配置中增加maxHttpHeaderSize的配置。

              connectionTimeout="20000"
              redirectPort="8443" maxHttpHeaderSize="8192" />

如果调整了maxHttpHeaderSize还是解决不了,这时候需要设置前端页面的数据格式,需要将method 的属性设置为POST

但是这种方法对我的代码并未奏效。

-----------------------------------------------------------------------------------------------------------------

经过分析,发现此问题与请求参数有关。当在浏览器中访问时 URL中带有特殊字符,如花括号冒号时,就会出现这个错误。例如:http://localhost:8080/index.do?{id:123},在有些情况下,即使没有花括号,只要带有"?+参数"就会报此异常

比如本文所遇该问题是在使用Layer.js的弹出窗体功能时出现的问题

(代码中的*代码隐藏的代码,下同)

js代码:

+ View Code

java代码:

+ View Code

原先的思路是通过后台转接得到子页面的url地址,然后使用layer.js组件实现将该url指向的页面作为子页面弹出。由于在url中有带?的参数,所以出现了本文开头的异常。于是,改变url形式,去掉后面的参数,将其通过其他方式进行父子界面的传参。

    因此又引出了另一个问题,如何使用layer.open()的时候进行父子界面传参?

 本文解决办法:直接上代码

父js:

+ View Code

子页面js: 添加获取父页面数据的方法

1

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:tomcat进行httprequest解析报错-创新互联
分享网址:http://cqcxhl.com/article/djhdeo.html