Eclipse+Tomcat URL傳中文字元報錯400
今天在jsp中用href傳值(中文字元),在Eclipse內建瀏覽器出錯,但在火狐可以正常執行,搞了一天終於解決了,記錄一下。
先看下程式碼:
<a href = "Practice_Choose?name=<%=name%>&idCollege=<%=idCollege%>&idStudent=<%=idStudent%>">線上練習</a><br>
其中name是中文字元,如果不傳name可以正常執行。控制檯資訊:
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
看到說有無效字元,跟著百度在Servers/server.xml下找Connector(不太清楚是否能自定義一個,我找的是埠=8080的,新增屬性maxHttpHeaderSize=81920(80K),修改protocol="org.apache.coyote.http11.Http11Protocol"(有人說協議要寫全))
在D:\Apache Tomcat 7.0\webapps\docs\config\http.html文件中看到了connector的屬性:
問題依舊存在。改完了之後個人感覺上面那些並沒有什麼用。
下面用js的encodeURI函式完美解決了:
<a href = "javascript:location.href=encodeURI('Practice_Choose?name=<%=name%>&idCollege=<%=idCollege%>&idStudent=<%=idStudent%>')">線上練習走一走</a>
javascript:呼叫js函式,location.href=跳轉,encodeURI對字串編碼,Practice_Choose是Servlet名,後面是我的三個引數。
介面可以成功跳轉,把encodeURI括號裡面的字串編碼成了這樣:
Practice_Choose?name=%E5%BC%A0%E5%AD%90%E5%81%A5&idCollege=53&idStudent=1
就這麼一個非常簡單的用法,因為不瞭解困擾了一天,路漫漫其修遠。
P.S.
1.Connector
2.另外百度了一番,看到了我這個的下一步,也就是如何正確接收中文字元(避免亂碼):
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8");
對於2.我在Server.xml中的Connector(port=8080)新增URIEncoding="UTF-8",就不再需要了,直接用request.getParameter("name")就可以了。相關推薦
Eclipse+Tomcat URL傳中文字元報錯400
今天在jsp中用href傳值(中文字元),在Eclipse內建瀏覽器出錯,但在火狐可以正常執行,搞了一天終於解決了,記錄一下。先看下程式碼:<a href = "Practice_Choose?name=<%=name%>&idCollege=<
Tomcat上傳文件報錯:returned a response status of 403 Forbidden
XML ons value web resp 文件 配置 pan param 出現這樣的錯誤是沒有權限對服務器進行寫操作。需要在這個項目所在的tomcat中配置可寫操作即可: 在tomcat的web.xml添加下面代碼: <init-param>
centOS7 下mysql插入中文字元報錯
在剛裝完mysql,就建立了資料庫abc,然後新建一個abc表,插入英文沒有問題,但是插入中文就有問題,會報錯: ERROR 1366 (HY000): Incorrect string value: '\xE4\xBD\x99\xE9\x93\xB6...' 應該是資料
Struts2的web.xml中的url-pattern路徑配置為/*.action時,Tomcat一啟動執行就報錯(嚴重: A child container failed during star)
Struts2中web.xml中的url-pattern路徑配置錯誤導致Tomcat一起動就報錯。 如上圖url-pattern配置為/*.action (錯誤) 修改成:  
兩個頁面跳轉 url傳中文 非法字元及亂碼
弄了兩個小時終於解決了!!! 問題:在一頁面的url傳中文,從一頁面跳轉到二頁面,在二頁面中得到url中的中文亂碼! 解決辦法:在一頁面的url用encodeURIComponent轉兩次碼(解決非法字元和中文亂碼),
Web專案中前端頁面通過URL傳中文或 # 特殊字元到後臺出現亂碼解決方案
對於剛入行新手來說碰到URL傳遞中文資料到後臺出現亂碼或是傳遞包含特使符號‘#’後端獲取不到的情況是比較頭疼的事,這裡我就告訴你這兩個的解決的方式; 1.URL傳遞中文 前端頁面:中文字串用 encodeURI(encodeURI(
eclipse運行maven項目報錯java.lang.ClassNotFoundException: xxxxxx
java maven tomcat classnotfoundexception 在eclipse中運行maven項目,出現異常——java.lang.ClassNotFoundException: org.apache.shiro.web.env.EnvironmentLoaderLi
已經設置utf8的mysql cmd中插入中文執行報錯解決方法
客戶 res img 說明 設置 -1 bsp 插入 gbk 說明cmd客戶端的字符集是gbk,結果集也要設置為gbk。 使用語句 set character_set_client=gbk; set character_set_results=gbk; 就
解決上傳到github報錯Successfully created project 'autotest' on GitHub, but initial commit failed:
.com auto efault oba core ted config use body 通過IDEA上傳代碼到GitHub上可是有時候會碰到這樣的問題。 當我們選擇VCS->Import into Version Control->Share Project
Tomcat JAR包沖突報錯
blog 技術分享 tom jar csdn 沖突 參考 div image 查看Tomcat下有兩個PDF加密的jar包如圖: 刪除這個bcprov-jdk14-138.jar包,然後重啟Tomcat就好了。 註:問題不是我解決的,我只是記錄一下 參考: http:/
Eclipse 無輸出,但不報錯
bug sof app 標簽 clip when ogr pan 解決方法 解決方法: 若界面中都沒有console選項,則 工具欄 Window - Show View - Console Window - Preferences - Run/Debug - Conso
FastDFS重啟後上傳文件報錯的解決方案
fastdfs報錯:ERROR - file: tracker_proto.c, line: 48, server: 109.24.249.40:22122, response status 2 != 0tracker_query_storage fail, error no: 2, error info:
url傳中文參數亂碼問題
div query fun return index window encodeuri name 發出 //發出請求頁面(編碼 encodeURI) window.location.href="index.html?name="+encodeURI(encodeURI
【RestTemplete】使用RestTemplete傳Json或者 {} 報錯--解決
ane DC AC system 使用 RF ack param ng- https://jira.spring.io/browse/SPR-9220?focusedCommentId=76760&page=com.atlassian.jira.plugin.sys
【監控】Jprofiler監控tomcat的配置方法及報錯解決過程
could CA 監聽端口 arch https img .net http 沒有 準備工作: 1.Jprofiler for Linux安裝包一個(服務端) 2.Jprofiler for windows安裝包一個(客戶端) 3.各自安裝、解壓 Linux:/opt/jp
上傳App Store報錯 ERROR ITMS-90171,90209
port inf res 刪除 store program erro 上傳 tab ERROR ITMS-90171: "Invalid Bundle Structure - The binary file ERROR ITMS-90209: "Invalid Segme
SpringBoot項目上傳文件報錯
msg igel boot exceptio pri color The sts 文件添加 SpringBoot項目上傳圖片報錯 FileSizeLimitExceededException: The field upload exceeds its maximum per
eclipse專案中jsp檔案全部報錯、String報錯
eclipse專案中jsp檔案全部報錯、String報錯 搜了好多,主要是新匯入的專案中沒有本地路徑的系統包,這就要構建包路徑。 主要用buildpath,但是我的出問題的工程右擊沒有buildpath(其他工程中有),綜合一下解決方法。 1、找到buildpath Window
上傳文件報錯:Warning: POST Content-Length of 9443117 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
The lin clas php 但是 exce 小文件 情況 lan 只需在php.ini中設置: upload_max_filesize = 1000M; post_max_size = 1000M;還有一種情況就是小文件可以上傳成功,但是大文件上傳,$_FILES
request.getRequestDispatcher(url)使用後天一直報錯,進入死迴圈
request.getRequestDispatcher(url)使用後天一直報錯,進入死迴圈 後來百度了下: request.getRequestDispatcher(“/資源URI”).forward(request,response) response.sendRedir