[英]Reading post data from servlet
我正在嘗試通過以下方式從servelet doPost
方法讀取發布數據。
使用httpservletrequest.getInputStream();
創建一個bytearrayoutputstream
實例。
將發布數據從httpservletrequest.getInputStream()
寫入bytearrayoutputstream
;
最后,我從bytearrayoutputstream.toByteArray()
獲得輸出。
問題是,當我在文本字段中輸入150/10
時, toByteArray
給我150%2F10
。 toByteArray
似乎在對/
字符的輸出中的特殊字符進行編碼。
從servlet doPost()
方法讀取帖子數據的優雅方法是什么?
在將數據傳遞到servlet之前,請嘗試在客戶端對其進行編碼。 否則,當您在servlet中檢索它時,在此處進行Url編碼。
嘗試這種方式:
String abc = URLEncoder.encode("convert my string 150/10", "UTF-8");
byte[] barr = abc.getBytes(Charset.forName("UTF-8"));
與以上配合使用
request.getParameter();
那么您不必使用所有這些花哨的代碼。 我猜想當您轉換為字節數組時,必須指定編碼機制,以避免字符集不明確。
我沒有嘗試上面的代碼,但希望您嘗試一下!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.