程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2EE >> WebDAV客戶端開發實例

WebDAV客戶端開發實例

編輯:J2EE
(一)環境搭建 需從http://archive.apache.org/dist/jakarta/slide/binaries/下載jakarta-slide-2.1-tomcat-5.0.28.zip,jakarta-slide-webdavclient-bin-2.1.zip,jakarta-slide-webdavclIEnt-bin-2.1.zip如過需要源碼也可以從http://archive.apache.org/dist/jakarta/slide/source/找到server端和客戶端的源碼,相應文件是jakarta-slide-server-src-2.1.zip,jakarta-slide-webdavclIEnt-src-2.1.zip. (二)配置slide server 其實解壓jakarta-slide-2.1-tomcat-5.0.28.zip後啟動tomcat就可以了,因為這個zip文件已經配置好了slide server,在webapp目錄下有一個slide.war,也可以拿這個文件在weblogic下配置一個slide server。如果機器上已配置好jdk,啟動tomcat後,從浏覽器地址欄輸入http://localhost:8080/slide,這時會彈出一個登錄窗口,輸入用戶名root,口令root(用戶名口令和角色的配置見slide.war中的Domail.xml和web.XML)即可。(三)配置WebDAV客戶端開發環境 開發WebDAV客戶端需要在classpath中設置幾個jar文件,從jakarta-slide-webdavclient-bin-2.1.zip找到WebDAV客戶端必須的四個jar文件:commons-httpclIEnt.jar;jakarta-slide-webdavlib-2.1.jar;commons-logging.jar;jdom-1.0.jar。(四)編碼實例-向slide server上傳文件: slide server存儲的文件位於tomcat bin目錄下的store,經測試,如果需要將tomcat slide 中的文件轉移到weblogic下部署的slide,只需將store目錄整個復制即可。下面是一個WebDAV客戶端文件上傳代碼: //我將自己寫的客戶端類添加到了jakarta-slide-webdavlib-2.1.jar裡,路徑是 //org.apache.webdav.lib.mycom package org.apache.webdav.lib.mycom; import java.io.File; import java.io.IOException; import Java.Net.MalformedURLException; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclIEnt.HttpURL; import org.apache.webdav.lib.WebdavResource; import Java.util.*; ... //下面是putFileToWebDAV方法: public class CenSlideClIEntImpl{ public static final boolean putFileToWebDAV(String urlPath,String urlFileName,String uid,String pwd,String localPath,String localFileName) { boolean bool = false; try { HttpURL hrl = new HttpURL(urlPath); hrl.setUserinfo(uid,pwd); WebdavResource wdr = new WebdavResource(hrl); System.out.println("測試Web路徑:" +wdr.getPath()); File file = new File(localPath+"/"+localFileName); //指定上傳本地某個目錄下的文件 String path = wdr.getPath(); if(!path.endsWith("/")) path +="/"; path += urlFileName; //上傳到WebDAV後可按另外一個文件名保存 System.out.println("\nFilePath is:" +path+"\n"); //if (!wdr.isCollection()) // throw new Exception("Path is currently a file"); //wdr.setPath(currentPath + "/" + urlFileName); //wdr.setPath("/webdav/down.txt"); //如果指定的文件不存在則發生異常。 try //嘗試鎖定 { wdr.setPath(path); if (wdr.isLocked()) { // bool = false; // System.out.println("文件已被鎖定,上傳失敗!"); // return bool; wdr.unlockMethod(); bool = wdr.putMethod( path,file ); } else { // wdr.lockMethod(uid,10000000); bool = wdr.putMethod( path,file ); //wdr.unlockMethod(); } } catch(Exception ex) { bool = wdr.putMethod( path,file ); //wdr.unlockMethod(); System.out.println("\n文件不存在,不需鎖定...\n"); } finally { wdr.close(); } } catch(MalformedURLException mue) { System.out.println("MalformedURLException:"+mue.getMessage()); } catch(HttpException he) { System.out.println("HttpException:"+he.getMessage()); } catch(IOException ioe) { System.out.println("IOException:"+ioe.getMessage()); } catch(Exception ex) { System.out.println("ThrowException:"+ex.getMessage()); } finally { //wdr.close(); } return bool; } public static void main (String args[]) { boolean bool = false; try{ bool = putFileToWebDAV("http://localhost:8080/slide/files/","remotefile.txt","root","root","c:\\","localfile.txt"); } catch(Exception ex){} } } main方法裡的調用說明:將本地c:\localfile.txt文件上傳到http://localhost:8080/slide/files/並命名為remotefile.txt,連接slide server的用戶名和口令分別為root和root,這時再打開浏覽器 http://localhost:8080/slide/files/看看上傳的文件。 由於頁面編輯不方便,格式不太整齊,請原諒。 [email protected] [email protected] QQ:29803446
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved