htmlスニペットは、名前付きサーブレットpost
にリクエストを送信します。リクエストのタイプはですが、サーブレットは何も検出せず、取得しようとしているパーツの名前にnullを出力します。何故ですか ?servlet
multipart/form-data
<form method="post" action="servlet" enctype="multipart/form-data">
<input type="file" value="browse" name="FileShared" />
<input type="submit" value="submit" />
</form>
import javax.servlet.http.Part;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/plain");
//String fileName = request.getPart("FileShared").getName();
// Throws a nullpointer exception if I don't comment the above statement
PrintWriter writer = response.getWriter();
//writer.println(fileName);
Collection<Part> c = request.getParts();
Iterator i = c.iterator();
while(i.hasNext()) {
writer.println("Inside while loop"); // This statement never gets printed
writer.println(i.next());
}
writer.println("outside while loop"); // Only this statement gets printed
}