サーブレットの Multipart/Form-Data パラメータの解析
multipart/form-data 形式でエンコードされた受信リクエストを解析する場合、次のことが不可欠です。バージョン 3.0 より前のサーブレット API の制限に対処します。デフォルトでは、サーブレット API は application/x-www-form-urlencoded エンコーディングを想定しているため、request.getParameter() を使用すると null 値が返されます。
サーブレット 3.0 以降のソリューション
アプリケーションがサーブレット 3.0 以降に存在する場合、解決策は簡単です。 HttpServletRequest#getPart() を使用して、マルチパート フォーム データ パラメータを名前で取得します。
Part part = request.getPart("paramName");
3.0 より前のサーブレット バージョンのソリューション
サーブレット 3.0 より前の環境の場合、推奨されるアプローチは、Apache Commons FileUpload ライブラリを使用することです。このライブラリは、マルチパート/フォームデータリクエストに必要な解析機能を提供し、境界検出とデータ抽出の複雑さを処理します:
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(); } }
以上がサーブレットのマルチパート/フォームデータパラメータを解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。