最近需要对WebDav服务器进行操作,查找了一下,基于java的开发包主要有这几个:
slide

Jackrabbit

sardine

webdavclient4j

其中slide是apache的一个老的项目,url是http://jakarta.apache.org/slide/,这个

项目已经退休了,在它的项目主页上推荐使用Jackrabbit项目。

Jackrabbit是一个jcr实现,其中包括WebDav的服务器端和客户端。

webdavclient4j我没看,因为我先找到了sardine,项目主页是http://code.google.com/p/sardine/,

它最大的特点就是简单,使用非常简单,但项目主页也说了它并不是一个全面的实

现,它只实现了WebDav的常用命令。

下面是我在DAY的CQ5服务器(基于Jackrabbit)上的试验代码,代码创建了一个目录,然后

向这个目录上传了一个jpg文件,最后列出了这个目录的内容。

其中http://host:4502/crx/repository/crx.default是WebDav服务器的根路径,代码非常

简单,唯一需要注意的是路径为目录时,记着最后要有“/”。

    1. package xxx;
    2. import java.io.File;
    3. import java.io.FileInputStream;
    4. import java.io.FileNotFoundException;
    5. import java.io.InputStream;
    6. import java.util.List;
    7. import com.googlecode.sardine.DavResource;
    8. import com.googlecode.sardine.Sardine;
    9. import com.googlecode.sardine.SardineFactory;
    10. import com.googlecode.sardine.util.SardineException;
    11. public class TestSardine {
    12. /**
    13. * @param args
    14. * @throws SardineException
    15. * @throws FileNotFoundException
    16. */
    17. public static void main(String[] args) throws SardineException, FileNotFoundException {
    18. Sardine sardine = SardineFactory.begin("admin", "admin");
    19. if (sardine.exists("http://192.168.1.71:4502/crx/repository/crx.default/content/dam/")) {
    20. System.out.println("/content/dam folder exists");
    21. }
    22. sardine.createDirectory("http://192.168.1.71:4502/crx/repository/crx.default/content/dam/testfolder/");
    23. InputStream fis = new FileInputStream(new File("img12.jpg"));
    24. sardine.put("http://192.168.1.71:4502/crx/repository/crx.default/content/dam/testfolder/img12.jpg", fis);
    25. List<DavResource> resources = sardine.getResources("http://192.168.1.71:4502/crx/repository/crx.default/content/dam/testfolder/");
    26. for (DavResource res : resources)
    27. {
    28. System.out.println(res); // calls the .toString() method.
    29. }
    30. }
    31. }

WebDav的java客户端开发包:sardine的更多相关文章

  1. WebDav的java客户端开发包:Jackrabbit

    上一篇帖子“WebDav的java客户端开发包:sardine”中说到,对于开发WebDav客户端 sardine是一个很好的选择,但sardine并未实现WevDav的全部规范,所以我又试了试 ap ...

  2. Tedis:淘宝的Redis的Java客户端开发包

    Tedis:淘宝的Redis的Java客户端开发包   http://www.open-open.com/lib/view/open1389880631976.html   Tedis Tedis是另 ...

  3. Redis客户端开发包:Jedis学习-高级应用

    事务 Jedis中事务的写法是将redis操作写在事物代码块中,如下所示,multi与exec之间为具体的事务. jedis.watch (key1, key2, ...); Transaction ...

  4. Redis客户端开发包:Jedis学习-入门

    添加Jedis依赖 我们可以使用以下三种方式来添加Jedis依赖. 1.下载jar文件 从http://search.maven.org/下载最近的jedis包和Apache Commons Pool ...

  5. JAVA&&JAVA WEB开发包U盘封装版

    难以忍受机房的开发环境,就简单实现了将所有的开发文件封装进了U盘. 基于wmic的强大功能,实现了机房变态环境下的设置环境变量OS不用重新启动OS! install.bat @echo off mod ...

  6. Java OAuth开发包资料

    原文地址:http://www.oschina.net/project/tag/307/oauth?lang=19&sort=time

  7. 使用java客户端调用redis

    Redis支持很多编程语言的客户端,有C.C#.C++.Clojure.Common Lisp.Erlang.Go.Lua.Objective-C.PHP.Ruby.Scala,甚至更时髦的Node. ...

  8. Redis JAVA客户端 Jedis常用方法

    Jedis 是 Redis 官方首选的 Java 客户端开发包 (redis的java版本的客户端实现) #MAVEN配置 <dependency> <groupId>redi ...

  9. 常见的装包的三种宝,包 bao-devel bao-utils bao-agent ,包 开发包 工具包 客户端

    常见的装包的三种宝,包  bao-devel    bao-utils   bao-agent  ,包    开发包   工具包  客户端

随机推荐

  1. mysql09---sql语句优化

    Sql语句本身的优化 问题是: 如何从一个大项目中,迅速的定位执行速度慢的语句. (定位慢查询) 首先我们了解mysql数据库的一些运行状态如何查询(比如想知道当前mysql运行的时间/一共执行了多少 ...

  2. Linux,Windows和UNIX的进程调度的分析

    摘要 : 本文以Linux ,Unix ,Windows 操作系统为例,分析其进程调度策略,以期对进程调度过程有更深层次的认识     关键词 : 进程调度 优先级 时间片轮转 实时进程 分时技术   ...

  3. 开发winform程序,在拖拽控件大小时,VS会卡死

    你可以看看你最近有没有装什么新的软件,比如说:有道词典就会与VS有冲突,导致卡死,可以把进程关闭.

  4. JNI 详细使用 基础【步骤】

    1.定义本地[native]方法.通常情况下,应单独定义一个类来封装所有native方法.native方法相当于一个[接口]中的方法,只有方法声明,没有方法体. 2.在项目根目录下创建[jni文件夹] ...

  5. SpringMVC -jquery实现分页

    效果图: 关键类的代码: package:utils: SpringUtil.java 通过jdbcTemplate连接oracle数据库 package com.utils; import org. ...

  6. Linux-cpu分析-vmstat

    转载:https://blog.csdn.net/ty_hf/article/details/63394960 一. 前言 为了更方便的理解本篇内容含义,所以请最好看看如下繁琐的概念,更容易理解. 没 ...

  7. 破解无线网络密码-BT3如何使用2

    本教程只作学习和交流使用,任何其它商用与本人无关, 在开始教程之前, 首先需要用到几个软件,感兴趣的朋友看完贴子后可以去百度搜一下下载地址, 虚拟机: VMware Workstation 6.5 正 ...

  8. (转)解决 bitmap size exceeds VM budget (Out Of Memory 内存溢出)的问题

    在做图片处理的时候最常遇到的问题估计就是Out Of Memory (内存溢出)了 网上对这种问题的解决方案很多,原来无非就是压缩图片大小 本不该重复造轮子,但实际中却遇见了问题,写出来希望后来者能引 ...

  9. sqlplus的使用

    1.连接数据库 sqlplus / as sysdba 2.连接到远程数据库 sqlplus 用户名/密码@服务命名 3.遇到&会当成变量,一般是不需要的,可以关掉 SQL> set d ...

  10. Java总结:Java 流(Stream)、文件(File)和IO

    更新时间:2018-1-7 12:27:21 更多请查看在线文集:http://android.52fhy.com/java/index.html java.io 包几乎包含了所有操作输入.输出需要的 ...