首先,我必须声明我是jsp / servlet新手,试图了解它的机制
INTRO:
自从我阅读使用 Apache-Commons-FileUpload 3.0 的this教程后,Servlet成功上传.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 [] 例如,通过容器的请求对象到 /message.jsp ?