`
icarusliu
  • 浏览: 231733 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

WebDav 测试开发笔记

阅读更多
  • 方案的选择:
    • Slide :
      • 不足:其开源组件最后版本时间是04年,最近几年都没有再进行更新
      • Slide项目有几个地方做的很差: 定位,从项目的计划上看它要实现WebDav标准,WebDav对于企业的内容管理应用而言是非常有吸引力的,从项目定位上看,有两个方面的工作需要划分,即WebDav服务和基于WebDav的应用系统,Slide则两个工作一起做,后果就是两个工作都没做好。   内容,从提交的版本代码上看,很多内容没有实现,比如版本控制、全文检索等,如果看了项目介绍,然后看了实现的内容,反差太大,很多地方大家看了它的代码就会知道。  应用设计,有时候我的感觉是项目的功能设计人员根本就不知道自己在做什么,企业内容管理到底要做什么?文档对象的定义、文档处理的流程很零乱,如果要和它进行应用集成所要修改的工作量是很大的。 Apache基于系统和服务引擎这方面的有些项目做的很好,如果既做服务,又做应用,往往项目的应用设计都很差,给人的感觉是几个没什么经验的人做的。同时服务和应用耦合的又很紧,不仔细分析它的代码,很难分拆,如果这个项目再基于Apache的某个框架,比如Turbine,那基本上宣布你不要用这个项目了,Jetspeed也有这方面的毛病。
    • Milton:暂时没有研究
    • Jackrabbit:不足:不是专门的实现webdav方面的工具

  最后还是选用了slide来实现,因为slide实例比较多,而且也比后两种要成熟些。

import org.apache.webdav.lib.WebdavResource;
import org.apache.commons.httpclient.HttpURL; import java.io.File;

public class Test {
	 public static void main (String args[]) 
     {
         try 
          {
             HttpURL hrl = 
                 new HttpURL( "http://localhost:8080/slide/" );
             hrl.setUserinfo("root", "root");
             WebdavResource wdr = 
                 new WebdavResource(hrl);
             File fn = new File( "c:\\hehe.jpg" );             
             wdr.putMethod(wdr.getPath() + "\\files\\hehe.jpg",fn);
             wdr.close();
         } 
         catch (Exception ex)
         {
        	 ex.printStackTrace();
         } 
     } 
}

  注意:如果上传的目录不是files,会出错,文件没法正常保存,应该是用户对files的其它目录没有写的权限。刚接触slide,对这些还不是很清楚。

 

 

  • slide对于文件处理的过程:

1,打开连接。
2,列出文件
3,锁定文件
4,下在文件
5,上传文件
6,解锁文件
7,关闭连接

 

 

TODO:

1.实现文件的浏览(好实现),上传(好实现),下载(好实现),删除(好实现),修改(怎么样实现直接在浏览器中修改然后保存?或者可不可以这样实现?)

        2.对文件的并发操作的控制。

 

分享到:
评论
1 楼 u012414590 2015-08-27  
博主,我想问一下,webdav能否集成到自己的服务器上,打个比方说我把文件放在自己服务器上,但是想利用webdav来做在线编辑,可以实现吗?

相关推荐

Global site tag (gtag.js) - Google Analytics