天天看點

異常: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();
        }
           

繼續閱讀