Hei。我使用POST方法將一些信息從JSP發送到Servlet。我無法理解爲什麼當我通過POST方法發送一個「+」字符時,它將被替換爲一個空格字符。例如:當我輸入以下字符串: 4 + 5 - > Servlet將返回4 5;它取代了所有的「+」號。我該如何解決這個問題?我真的需要「+」字符是可見的,因爲之後我需要評估表達式。POST方法替換'+'字符
3
A
回答
3
表單變量被髮送URL編碼。 「+」加字符是空格的(一個)URL編碼。
參見: AJAX POST and Plus Sign (+) -- How to Encode?
如果你想發送文字加號,您將需要URL編碼,要麼通過Javascript或硬編碼「%2B」。
1
您需要將您的數據發送到服務器之前URLEncode
。服務器試圖解碼未編碼的數據 - 結果是+
被解碼到一個空間。
1
該servlet顯然希望數據以URL編碼到達,如W3 document on HTTP form submission中所述。您需要更改POST的內容類型或(更好地)編碼您發送的數據。您可以將「+」符號編碼爲「%2B」。
1
編碼URL時,+
字符表示空格。如果你需要在URL中使用該字符,你必須逃脫這樣的:
4+5
變爲
4%2B5
相關問題
- 1. Python替代字符串替換方法
- 2. 替換方法不是替換字符串中的字符
- 3. 替換方法Python字符串
- 4. SQL字符串替換解決方法
- 5. 的NSString替換字符方法
- 6. 字符串替換方法的優化
- 7. JavaScript字符串替換方法
- 8. 優化字符串。替換方法
- 9. 字符串查找和替換方法
- 10. 字符串替換更好的方法
- 11. Python字符串替換()方法只替換第一次出現
- 12. 替換字符串替換和數組的方法
- 13. 替換方法不會替換破折號爲空字符串
- 14. 字符串替換使用替換第一種方法
- 15. 如何使用JavaScript字符串替換方法替換「+」號?
- 16. Java替換所有添加替換字符串的方法,而不是替換
- 17. 在VBA中替換字符串中字符的最快方法
- 18. 替換Haskell中的字符串/字符的顯示方法
- 19. 從Hashtable中替換字符串中字符的最佳方法?
- 20. 有效的方法來替換字符串中的字符(Java)?
- 21. 用Python替換大字符串中字符的最佳方法?
- 22. Java的替代方法,用空字符替換
- 23. python替換字符而不替換已替換的字符
- 24. 字符串中的字符替換,而無需使用字符串替換()方法
- 25. 替換「^」字符
- 26. 替換字符
- 27. 替換字符
- 28. 替換字符
- 29. 替換字符
- 30. 字符替換
「+」是一個特殊字符。在一個URL中,你需要對它進行編碼,用「%2B」代替它。這是一個特殊字符替換列表:http://www.blooberry.com/indexdot/html/topics/urlencoding.htm – 2012-04-22 18:45:28
@BenoitCourtine數據通過POST發送,而不是URL的一部分。但是,該帖子很可能是通過內容類型的application/x-www-form-urlencoded發送的,這使您的基本點仍然有效。 – 2012-04-22 18:51:41