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
創(chuàng)新互聯(lián)為您提適合企業(yè)的網(wǎng)站設(shè)計(jì)?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強(qiáng)的網(wǎng)絡(luò)競(jìng)爭(zhēng)力!結(jié)合企業(yè)自身,進(jìn)行網(wǎng)站設(shè)計(jì)及把握,最后結(jié)合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè), 我們的網(wǎng)頁(yè)設(shè)計(jì)師為您提供的解決方案。
先將異常信息貼出:
該問題是tomcat進(jìn)行http request解析的時(shí)候報(bào)的錯(cuò),網(wǎng)上的解決辦法主要是修改Tomcat的server.xml,在<Connector port="8080"protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="8443" />的配置中增加maxHttpHeaderSize的配置。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" maxHttpHeaderSize="8192" />
如果調(diào)整了maxHttpHeaderSize還是解決不了,這時(shí)候需要設(shè)置前端頁(yè)面的數(shù)據(jù)格式,需要將method 的屬性設(shè)置為POST
但是這種方法對(duì)我的代碼并未奏效。
-----------------------------------------------------------------------------------------------------------------
經(jīng)過分析,發(fā)現(xiàn)此問題與請(qǐng)求參數(shù)有關(guān)。當(dāng)在瀏覽器中訪問時(shí) URL中帶有特殊字符,如花括號(hào)冒號(hào)時(shí),就會(huì)出現(xiàn)這個(gè)錯(cuò)誤。例如:http://localhost:8080/index.do?{id:123},在有些情況下,即使沒有花括號(hào),只要帶有"?+參數(shù)"就會(huì)報(bào)此異常
比如本文所遇該問題是在使用Layer.js的彈出窗體功能時(shí)出現(xiàn)的問題
(代碼中的*代碼隱藏的代碼,下同)
js代碼:
+ View Code
java代碼:
+ View Code
原先的思路是通過后臺(tái)轉(zhuǎn)接得到子頁(yè)面的url地址,然后使用layer.js組件實(shí)現(xiàn)將該url指向的頁(yè)面作為子頁(yè)面彈出。由于在url中有帶?的參數(shù),所以出現(xiàn)了本文開頭的異常。于是,改變url形式,去掉后面的參數(shù),將其通過其他方式進(jìn)行父子界面的傳參。
因此又引出了另一個(gè)問題,如何使用layer.open()的時(shí)候進(jìn)行父子界面?zhèn)鲄ⅲ?/p>
本文解決辦法:直接上代碼
父js:
+ View Code
子頁(yè)面js: 添加獲取父頁(yè)面數(shù)據(jù)的方法