| |
| WebDAV客户端开发实例 |
| |
发布者: 发布时间:2007-11-26 |
|
|
|
(一)环境搭建需从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,经测试,如果需要将tomcatslide 中的文件转移到weblogic下部署的slide,只需将store目录整个复制即可。下面是一个WebDAV客户端文件上传代码://我将自己写的客户端类添加到了jakarta-slide-webdavlib-2.1.jar里,路径是//org.apache.webdav.lib.mycompackage 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/看看上传的文件。由于页面编辑不方便,格式不太整齐,请原谅。baozhengw999@hotmail.comsucc100@163.comQQ:29803446
|
| (转载文章请保留出处:北天JAVA技术网(www.java114.com)) |
| |
| 更多精彩文章: |
| 在Jetspeed2.0中安装JCMS |
| Java 理论与实践:让 J2EE 脱离容器 |
| 使用acegi在业务逻辑层获得Web层的用户ID |
| 基于Web2.0的AJAX十大安全漏洞以及成因 |
| J2EE程序员应该掌握的Linux系统的知识 |
| 用RMI和CORBA进行分布式Java编程 |
| |
| 最近评论: |
|
|
| 鍥炲 |
|
|
|
| 那个雨天的想法! |
| wow gold,wow power leveling.wow power leveling,wow power leveling,
max(6209) |
|
|
| 如果真的有来生! |
| 四川旅游,九寨沟旅游,稻城亚丁旅游,四姑娘山旅游,海螺沟旅游,西藏旅游,
max(2113) |
|
|
| 左边的风景! |
| wow gold,wow power leveling.wow power leveling,wow power leveling,
max(3205) |
|
|
| 轻轻走过你的窗前! |
| world of warcraft gold,cheap world of warcraft gold,warcraft gold,world of warcraft gold,cheap world of warcraft gold,warcraft gold, max(4319) |
|
|
| 轻轻走过你的窗前! |
| world of warcraft gold,cheap world of warcraft gold,warcraft gold,world of warcraft gold,cheap world of warcraft gold,warcraft gold max(6375) |
|
|
| 不在的哪天! |
| final fantasy xi gil,final fantasy xi gil,final fantasy xi gil,final fantasy xi gil,
max(9386) |
|
|
| 快乐情人节! |
| wow gold,wow gold,wow gold,wow gold,wow gold,wow gold,wow gold buy wow gold for cheap.
max(7172) |
|
|
| 昨夜的狂想曲! |
| wow gold,WoW Gold,world of warcraft gold,WoW Gold, max(1830) |
|
|
| 没有情人的情人节! |
| wow gold,wow power leveling.wow power leveling,wow power leveling,
max(1009) |
|
|
| |
| 免责声明:该文章由网友发表,如果对您造成侵权,请联系站长。 |
|