具体实现

神舟小本的 IP: 172.168.1.104
Tomcat Version: 6.0.20(估计 6.X 都可)
待下载电影目录:D:\temp\fordownload

1. 在目标文件夹建立标准 Java EE 的 Webapp. 通过 Eclipse 建一 web 工程,工程的 web 根目录要选到 D:\temp\fordownload。
2. 设置 tomcat 的虚拟目录(鸣谢 ja_ll_ck)。在 {tomcat home}\conf\Catalina\localhost 下建一个任意名称的 XML,内容如下:
 

<?xml version="1.0" encoding="UTF-8"?>
 
<Context path="/downloadmovie" reloadable="true" docBase="D:\temp\fordownload" crossContext="true">
 
</Context>
 

3. 允许 tomcat 列举文件。修改 {tomcat home}/conf/web.xml 的参数:
        <init-param>
            <param-name>listings</param-name>
            <param-value>true</param-value>
        </init-param>
上面默认的是 false,需要修改为 true。

好,现在启动 Tomcat,访问 http://172.168.1.104:8181/downloadmovie/ 就行了。
 

1. 以上第一步的目的是在 D:\temp\fordownload 下生成 WEB-INF 文件夹和里边的 web.xml 文件。如果手工完成这一步也不麻烦,在 D:\temp\fordownload 下创建如下目录结构:
 

D:\temp\fordownload
└─WEB-INF
          └─lib
 

再把 web.xml 放到 WEB-INF 目录下就成。 web.xml 内容如下:
 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"  
    xmlns="http://java.sun.com/xml/ns/j2ee"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>
 

2. 对中文支持有问题,文件名或者路径名中包含中文的话,不能正常下载。解决方法是在 {home home}/conf/server.xml/<Connector> 元素里增添属性 URIEncoding="UTF-8".

3. 这个东西用起来,还是拖机器的,下载速度很高,局域网嘛,无线都有 1MiB/s,有线就更快了,下载的时候,机器卡住基本上干不了别的事,如果不是很急的文件,还是用移动硬盘拷贝比较方便,同时还可以通过网页查看文件夹里还有哪些文件。