最初に、私はそのメカニズムを学ぼうとしている jsp/サーブレットの新人であることを述べなければなりません。
イントロ: Apache-Commons-FileUpload 3.0 の使用に関するこのチュートリアルを
読んだので、サーブレットは .txt ファイルを正常にアップロードし、ファイルは Tomcat のwtpwebapps/MyProject/uploadフォルダーに保存されます。
UploadServlet の doPost メソッドの重要な部分は次のとおりです。参照されているチュートリアルとまったく同じです。
try {
// parses the request's content to extract file data
List formItems = upload.parseRequest(request);
Iterator iter = formItems.iterator();
// iterates over form's fields
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
// processes only fields that are not form fields
if (!item.isFormField()) {
String fileName = new File(item.getName()).getName();
String filePath = uploadPath + File.separator + fileName;
File storeFile = new File(filePath);
// saves the file on disk
item.write(storeFile);
}
}
request.setAttribute("message", "Upload has been done successfully!");
} catch (Exception ex) {
request.setAttribute("message", "There was an error: " + ex.getMessage());
}
getServletContext().getRequestDispatcher("/message.jsp").forward(request, response);
}
}
コード セグメントの最後で、プログラマは/messages.jspファイル に出力されるメッセージテキストを指定します。
質問:リクエスト属性を設定する前に、アップロードされたファイルをストリームとして取得し、( BufferedReader
など
を使用して) 行ごとに何かを行い、ストリームを閉じて、次のように送信するにはどうすればよいですか... String[]たとえば、to /コンテナのリクエストオブジェクト経由のmessage.jsp ?