在Servlet中,可以通過HttpServletRequest對象的方法來接收POST請求的數據。
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 獲取HttpServletRequest對象
// ...
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 獲取POST請求參數
String param1 = request.getParameter("param1"); // 根據參數名獲取單個參數的值
String[] param2 = request.getParameterValues("param2"); // 根據參數名獲取多個參數的值
// ...
}
在上面的代碼中,getParameter()
方法用于獲取單個參數的值,getParameterValues()
方法用于獲取多個參數的值。這些方法的參數是請求參數的名稱。
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 獲取POST請求的Body中的數據
String requestBody = request.getReader().lines()
.reduce("", (accumulator, actual) -> accumulator + actual); // 將請求Body中的數據拼接成字符串
// ...
}
以上代碼使用getReader()
方法獲取請求的BufferedReader
對象,然后使用lines()
方法逐行讀取數據,并使用reduce()
方法將每行數據拼接成一個字符串。
需要注意的是,以上代碼只適用于請求Body中的數據是文本格式的情況。如果請求Body是二進制數據(如文件上傳),則需要使用其他方式來處理。