1. 假设需要下载的文件目录是E:\nginx
2. 设置 tomcat 的虚拟目录。在 {tomcat home}\conf\Catalina\localhost 下建一个任意名称(如picture)的 XML,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/picture" reloadable="true" docBase="E:\nginx" crossContext="true">
</Context>
其实path指的是URL路径端口后面的路径(/picture)/picture是虚拟的路径,docBase指的是计算机的文件系统中的目录。这个配置的就是将计算机文件系统中的目录虚拟为url中的虚拟路径。
例如http://localhost:8080/picture1/1.png这样一个url。根据localhost:8080已经确定了是哪台计算机的拿个程序。端口后面的/picture1就代表的是该计算机的E:\nginx目录,1.png就是文件的名字。
注意:path的值要与xml文件名称一样,如果不一样则虚拟路径的值便不是path中的值而是文件的名称。可以这样理解主导虚拟路径的是xml文件的名称。大胆的猜想一下,如果主导虚拟路径的是xml文件的名称那么在<Context path="/picture" reloadable="true" docBase="E:\nginx" crossContext="true">中不写path="/picture"这个属性是否可以。答案是不写 path虚拟路径也是xml文件的名称。
3. 允许 tomcat 列举文件。修改 {tomcat home}/conf/web.xml 的参数:
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
上面默认的是 false,需要修改为 true。
4.启动 Tomcat,访问 http://localhost:8080/download2/