- 方案的选择:
- Slide :
- 不足:其开源组件最后版本时间是04年,最近几年都没有再进行更新
- Slide项目有几个地方做的很差: 定位,从项目的计划上看它要实现WebDav标准,WebDav对于企业的内容管理应用而言是非常有吸引力的,从项目定位上看,有两个方面的工作需要划分,即WebDav服务和基于WebDav的应用系统,Slide则两个工作一起做,后果就是两个工作都没做好。 内容,从提交的版本代码上看,很多内容没有实现,比如版本控制、全文检索等,如果看了项目介绍,然后看了实现的内容,反差太大,很多地方大家看了它的代码就会知道。 应用设计,有时候我的感觉是项目的功能设计人员根本就不知道自己在做什么,企业内容管理到底要做什么?文档对象的定义、文档处理的流程很零乱,如果要和它进行应用集成所要修改的工作量是很大的。 Apache基于系统和服务引擎这方面的有些项目做的很好,如果既做服务,又做应用,往往项目的应用设计都很差,给人的感觉是几个没什么经验的人做的。同时服务和应用耦合的又很紧,不仔细分析它的代码,很难分拆,如果这个项目再基于Apache的某个框架,比如Turbine,那基本上宣布你不要用这个项目了,Jetspeed也有这方面的毛病。
- Milton:暂时没有研究
- Jackrabbit:不足:不是专门的实现webdav方面的工具
- Slide :
最后还是选用了slide来实现,因为slide实例比较多,而且也比后两种要成熟些。
- slide的第一次尝试:(参考:http://www.tot.name/show/12/89/20060330211446.htm)
- 从以下网址http://archive.apache.org/dist/jakarta/slide/binaries/下载jakarta-slide-2.1-tomcat-5.0.28.zip,解压后启动tomcat
- 打开网址输入http://localhost:8080/slide/ 即可。
- 用windows的网上邻居来访问:打开“网上邻居”,添加网上邻居,在“请键入网上邻居的位置”中输入 Web 文件夹的 URL,例如我刚才用 Slide 配置好的 WebDAV 服务器在http://localhost:8000/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.对文件的并发操作的控制。