2010-06-28 47 views
0

我對Java中的WebdavServlet實現中的doPut方法有疑問。doPut()Servlet

如果你不熟悉它,我不認爲你需要。

doPut需要2個參數,HttpServletRequest req和HttpServletResponse。

基本上,doPut會將一個文件放入您的servlet中。

我有一些關於如何指定放置哪些文件和放置位置的問題。

所以我認爲它放在哪裏是從getRelativePath(req)得到的。

但我不知道文件的一部分。

+0

哪個'WebdavServlet'實現是這樣的? – skaffman 2010-06-28 21:02:37

回答

3

該文件的內容可在HttpServletRequest#getInputStream()的請求正文中找到。只需將它寫入任何OutputStream就可以瞭解您的品味usual Java IO的方式。 FileOutputStream將其寫入本地文件。

然而,您需要事先知道如何解碼請求主體的內容編碼。經常使用multipart/form-data編碼。爲了解析這個,Apache Commons FileUpload是事實上的標準。點擊鏈接並瀏覽用戶指南常見問題瞭解如何使用它。

您不應該對該文件位於客戶端的位置感興趣,因爲無論如何您都無法訪問該文件。當服務器和客戶端在物理上相同的計算機上運行(因此同一個磁盤文件系統)時,只能訪問它,但通常在現實世界中不會發生。