異常:getInputStream() has already been called for this request

異常:getInputStream() has already been called for this request...

造成異常的代碼: 從請求中獲取body參數

 BufferedReader reader = request.getReader();
            while ((str = reader.readLine()) != null) {
                requestJson += str;
            }
            reader.close();

原因: 1.重複調用 2.request.getReader獲取不到值

解決辦法:在獲取body 參數的同時,先判斷下請求數據流的長度,就完美解決啦

 int len = request.getContentLength();
        if (len != -1) {
            BufferedReader reader = request.getReader();
            while ((str = reader.readLine()) != null) {
                requestJson += str;
            }
            reader.close();
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章