最近研究了一下webdav,关于webdav的详细信息可以在 google上搜索或者参看官方网站http://www.webdav.org.
"WebDAV stands for "Web-based Distributed Authoring and Versioning". It is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers. "
笔者简单的尝试了它下面的slide和mod_dav.
slide是jakarta下面的子项目,分为服务端和客户端.个人认为服务端是专门为tomcat定做的一个webdav实现.关于slide,javaeye上有些讨论,可以参考http://www.javaeye.com/t/5267.html.本人涉入的不是很深,中文问题让我碰到了,slide提供2中存储方式,文件形式和数据库形式,限于时间,笔者没有对数据库形式进行测试.slide的工作目录默认在服务器bin目录下.
用mod_dav来实现相比就简单多了,如果你熟悉apache httpserver,应该很容易搞定.http://www.webdav.org/mod_dav/ 上的有部分资料.可以根据http://www.webdav.org/mod_dav/install.html 的讲解来配置.apache server1.3以后(包括1.3)在发布的时候都自带了mod_dav包.需要做的就是加载和配置它.
LoadModule dav_module libexec/libdav.so
AddModule mod_dav.c
笔者在配置的时候由于没有认真看文档,犯了个小小的错误.所以注意下面的文字:
"In the following example, the DAV lock database will be stored in the /usr/local/apache/var directory (which must be writable by the server process). The file's name will be DAVLock when mod_dav needs to create it.
(actually, mod_dav will create one or more files using this file name plus an extension)
DAVLockDB /usr/local/apache/var/DAVLock"
然后你需要配置一个webdav的工作目录,由于访问apache服务的用户会默认是nobody用户,所以你至少得让工作目录对nobody可读写.在目录的定义中加入DAV on这样的属性就 ok了
eg:
"Alias /pages /home/www/davhome
<Location /pages>
DAV On
</Location>
"
测试webdav
安装完webdav后,你可以做简单的测试:
IE浏览器-〉文件-〉打开,然后输入配置的url,http://127.0.0.1/pages,选上"以Web文件夹方式打开".可以看到效果。
客户端API.
如果是 java可以 采用slide的客户端.(php用户咋办?).
这个最新的客户端使用的是最新的jdom,注意哦..
参考资料:
http://www.uplinux.com/www/net/02/131.shtml