目前,我有一個jsp文件,一些java bean類和兩個servlet。 第一個servlet負責上傳文件並打印出它的上下文。 第二個servlet負責獲取java bean代碼,執行它並在jsp上打印結果。然而,這到了重複servlet中的代碼。重複的代碼實際上是該文件需要爲了調用豆重新上傳:在servlets之間共享上傳的文件
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
Iterator<FileItem> iterator = upload.parseRequest(request).iterator();
File uploadedFile = null;
String dirPath = "C:\\fileuploads";
while (iterator.hasNext()) {
FileItem item = iterator.next();
if (!item.isFormField()) {
String fileNameWithExt = item.getName();
File filePath = new File(dirPath);
if (!filePath.exists()) {
filePath.mkdirs();
}
uploadedFile = new File(dirPath + "/" + fileNameWithExt);
item.write(uploadedFile);
} else {
String otherFieldName = item.getFieldName();
String otherFieldValue = item.getString();
}
}
FileInputStream fstream = new FileInputStream(uploadedFile);
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
接下來是該servlet與Java bean的連接代碼。這有效,但我的問題是分享這個上傳的文件的最佳方式是什麼?如果我可以將文件路徑存儲在一個變量中,並將其從第一個servlet調用到第二個,並且沒有重複的代碼。
在此先感謝。
P.S我也讀過這個問題,Share uploaded file between servlets in session,但我沒有真正設法做到這一點。