簡體   English   中英

從servlet讀取發布數據

[英]Reading post data from servlet

我正在嘗試通過以下方式從servelet doPost方法讀取發布數據。

  1. 使用httpservletrequest.getInputStream();

  2. 創建一個bytearrayoutputstream實例。

  3. 將發布數據從httpservletrequest.getInputStream()寫入bytearrayoutputstream

  4. 最后,我從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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM