解析Servlet 中的Multipart/Form-Data 參數
解析以multipart/form-data 格式編碼的傳入請求時,必須解析以multipart/form-data 格式編碼的傳入請求時,必須解析解決Servlet API 3.0 之前版本的限制。預設情況下,Servlet API 採用 application/x-www-form-urlencoded 編碼,導致使用 request.getParameter() 時出現空值。
Servlet 3.0 及更高版本的解決方案
如果您的應用程式駐留在 Servlet 3.0 或更高版本上,解決方案很簡單。利用HttpServletRequest#getPart() 依名稱擷取多部分錶單資料參數:
Part part = request.getPart("paramName");
3.0 之前的Servlet 版本的解決方案
對於Servlet 版本的解決方案
ServletFileUpload fileUpload = new ServletFileUpload(); FileItemIterator fileItemIterator = fileUpload.getItemIterator(request); while (fileItemIterator.hasNext()) { FileItem fileItem = fileItemIterator.next(); if (fileItem.isFormField()) { String paramName = fileItem.getFieldName(); String paramValue = fileItem.getString(); } }對於Servlet 3.0 之前的環境,建議的方法是使用Apache Commons FileUpload 函式庫。該庫為多部分/表單資料請求提供必要的解析功能,處理邊界檢測和資料提取的複雜性:
以上是如何解析 Servlet 中的多部分/表單資料參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!