我想在jsp頁面中上傳zip文件,並在用戶選擇並上傳文件後將其發送到其他jsp頁面。將zip文件上傳到jsp並在另一個jsp中提取內容
在這第二頁我想要
1.)提取上傳的zip文件。
2)閱讀所提取的文件(S某些內容),並允許用戶改變/編輯
3)保存文件的用戶的變化。
4.)再次壓縮文件並將其保存到另一個目的地。
請大家提出一個解決方案的粗略提示,因爲我被困在獲取上傳文件的階段,並將用戶重定向到第二個jsp。
我想在jsp頁面中上傳zip文件,並在用戶選擇並上傳文件後將其發送到其他jsp頁面。將zip文件上傳到jsp並在另一個jsp中提取內容
在這第二頁我想要
1.)提取上傳的zip文件。
2)閱讀所提取的文件(S某些內容),並允許用戶改變/編輯
3)保存文件的用戶的變化。
4.)再次壓縮文件並將其保存到另一個目的地。
請大家提出一個解決方案的粗略提示,因爲我被困在獲取上傳文件的階段,並將用戶重定向到第二個jsp。
我要上傳在JSP頁面的壓縮文件...
使用以下類型的表格:
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file">
<input type="submit">
</form>
...並且用戶發送到另一個jsp頁面後,他選擇並上傳文件。
等一等。您不應該將JSP用於業務邏輯。原始Java代碼不屬於JSP文件,而是屬於真正的Java類。讓表單提交到Servlet
,後者依次處理文件上傳並最終將請求轉發到JSP頁面以顯示某些結果。
1)解壓上傳的zip文件。
使用Apache Commons FileUpload獲取上傳的文件。您可以在用戶指南和常見問題的主頁中找到代碼示例和提示&技巧(!)。
您應該以包含上傳文件的InputStream
結束。
一旦有了,那麼只需使用java.util.zip.ZipInputStream
API讀取上傳的文件。
2)閱讀所提取的文件(S某些內容),並允許用戶改變/編輯的模型對象(JavaBeans的)數據
弄個,將它們存儲在請求或會話範圍,並使用JSP/EL在HTML輸入字段中顯示模型值。例如。
<input type="text" name="foo" value="${fn:escapeXml(bean.foo)}">
的JSTLfn:escapeXml
是隻是爲了防止XSS。
3)保存用戶對文件的更改。
讓表單提交給一個servlet,收集新的輸入,並將其寫入某個文件。
4)再次壓縮文件並將其保存到另一個目的地。
又見
您可能會在servlet中獲取上傳的zip文件。
對於你的步驟1中,提取使用http://java.sun.com/j2se/1.4.2/docs/api/java/util/zip/ZipFile.html
程序zip文件內容是這裏http://java.sun.com/developer/technicalArticles/Programming/compression/
實施例是這裏http://www.devx.com/getHelpOn/10MinuteSolution/20447
步驟2和3是簡單
創建的步驟4中請再次郵編http://java.sun.com/developer/technicalArticles/Programming/compression/(見該頁的郵政編碼)
jsp用於視圖層,對於控制器,最好使用servlets/structs actions/spring controllers/etc – 2010-05-18 07:55:50