[Java EE 7]サーブレット処理multipart要求

1706 ワード

@MultipartConfigをservletに追加してmultipart/form-dataタイプのデータを処理できます.次に、HttpServeretRequest.getPartsおよび.getPartを呼び出してデータを取得します.

@WebServlet(urlPatterns = {"/FileUploadServlet"})
@MultipartConfig(location="/tmp")
public class FileUploadServlet extends HttpServlet {

  @Override
  protected void doPost(HttpServletRequest request, 
                        HttpServletResponse response)
        throws ServletException, IOException {
    for (Part part : request.getParts()) {
      part.write("myFile");
    }
  }
}

このコードでは、次のようになります.
  •     @MultipartConfigは、ここに送信されたPOST要求がMultipart/form-dataデータを処理できることを示す.
  •     locationプロパティは、ファイル保存のパスを指定します.
  •     getPartsメソッドはrequestのファイルの各部分のコンテンツ集合を取得するために使用される.
  •     part.writeメソッドは、自身に含まれるコンテンツをファイルに書き込むために使用されます.
  • サーブレット3.1は、クライアントからアップロードされたファイル名を取得するための新しい方法Part.getSubmittedFileNameを追加しました.
    データのコミットに使用されるJSPコードの例は次のとおりです.
    <form action="FileUploadServlet" 
          enctype="multipart/form-data" 
          method="POST">
        <input type="file" name="myFile"><br>
        <input type="Submit" value="Upload File"><br>
    </form>

    上のコードでは、FileUploadServiceletサーブレットに送信されたformはPOST要求を使用し、multipart/form-dataでデータ符号化されます.
    ソース記事:
    http://www.aptusource.org/2014/04/java-ee-7-servlet-handling-multipart-requests/