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. 替換方法不是替換字符串中的字符
- 2. SQL字符串替換解決方法
- 3. 替換方法Python字符串
- 4. 字符串替換更好的方法
- 5. 字符串替換方法的優化
- 6. 替換字符串替換和數組的方法
- 7. 如何使用JavaScript字符串替換方法替換「+」號?
- 8. 替換方法不會替換破折號爲空字符串
- 9. Java替換所有添加替換字符串的方法,而不是替換
- 10. 替換Haskell中的字符串/字符的顯示方法
- 11. 用Python替換大字符串中字符的最佳方法?
- 12. 有效的方法來替換字符串中的字符(Java)?
- 13. 從Hashtable中替換字符串中字符的最佳方法?
- 14. 在VBA中替換字符串中字符的最快方法
- 15. 替換字符
- 16. 字符替換
- 17. 替換字符
- 18. 替換字符串方法中的每個字母java
- 19. ruby中字符串替換方法的用法是什麼?
- 20. C#替換單串聯雙連接字符替換中的方法
- 21. 替換JS數組中的字符串而不使用本地替換()方法
- 22. Python:有沒有簡單的方法來替換字符串,而不是替換()
- 23. 用替換方法和java8替換大數組中的一部分字符串
- 24. POST方法上的Java字符串
- 25. 要創建的字符串POST方法
- 26. RKClient POST方法和特殊字符
- 27. 使用替換方法在C#中替換爲\「符號
- 28. Javascript:使用通配符替換方法
- 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