使用 Apache Jackrabbit 实现 WebDAV 客户端(2)

首先需要建立一个 DavMethod 对象,然后用第一步建立的 HttpClient 实例调用该方法。清单 2 中 MkColMethod 方法的作用是新建一个集合(Collection),其中 WebDAV 中的集合概念可以理解为目录,本例的作用是在 Web 服务器中的相对路径下建立 uploads/test/ 的目录,MkColMethod 的输入参数为新建目录的 URI。


清单 2. 调用 DavMethod 对象

// MKCOL method DavMethod mkCol = new MkColMethod("http://127.0.0.1/uploads/test"); client.executeMethod(mkCol);  

第三步:获取方法的返回状态。

调用完 WebDAV 的方法后,可以从该方法的对象中获得方法执行的状态信息。例如清单 3 的返回结果可能是“201”,“Created”和“HTTP/1.1 201 Created”。可以看出这些返回信息的格式和 HTTP 协议的返回值是一致的。


清单 3. 获取状态码

int statusCode = mkCol.getStatusCode(); String statusText = mkCol.getStatusText(); StatusLine statusLine = mkCol.getStatusLine();  

第四步:分析返回值。

通过返回值,我们不仅可以知道方法调用是否成功,还能获取有用的数据进行下一步分析,例如对于一个完整的客户端实现,往往需要首先调用 PROPFIND 方法得到当前目录下的所有文件,然后再决定如何进行下一步操作。


清单 4. 获取返回值

// PROPFIND Method DavMethod find = new PropFindMethod("http://127.0.0.1/uploads/test/", DavConstants.PROPFIND_ALL_PROP, DavConstants.DEPTH_1); client.executeMethod(find); MultiStatus multiStatus = find.getResponseBodyAsMultiStatus(); MultiStatusResponse [] responses = multiStatus.getResponses(); System.out.println("Folders and files:"); for(int i = 0; i < responses.length; i++) { System.out.println(responses[i].getHref()); }  

通过对以上调用方法的使用介绍,我们已经可以调用 WebDAV 的各种方法,读者应该已经可以根据自己的需求开发 WebDAV 客户端了。本文完整的程序代码见附件。

DavClient.zip附件下载

免费下载地址在

用户名与密码都是

具体下载目录在 /2013年资料/9月/26日/使用 Apache Jackrabbit 实现 WebDAV 客户端

下载方法见

接下来请看第2页精彩内容

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/ede65645c538caa7211b2b2a78a45db6.html