当我们使用tomcat上传和下载文件的时候,如何不想放在服务器的webapps/ROOT下,有两种配置方式:
方式一:
在conf\server.xml中添加如下信息:
<Context path="/demo/ykp/file" docBase="D:\upload\ykp"></Context>
如下图:
在D:\upload\ykp中存放一些文件:
此时重启tomcat,即可通过如下方式访问文件:
http://localhost:8081/demo/ykp/file/test.jpg
如果想要访问http://localhost:8081/demo/ykp/file/,即D:\upload\ykp内的所有文件,此时还是不可以,直接访问会出现如下错误:
要想访问,还需要做如下配置:
<init-param>
<param-name>listings</param-name>
<!--默认是false,此处修改成true-->
<param-value>true</param-value>
</init-param>
重启tomcat,访问结果如下所示:
此时还有一个问题,就是中文乱码问题,即如果路径中含有中文,就无法访问,此时需要做如下配置:
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
方式二
对于在conf\server.xml中做的以下配置
<Context path="/de
mo/ykp/file" docBase="D:\upload\ykp"></Context>
我们可以单独放在一个文件内,即我们需要在conf\Catalina\localhost\里边新建一个xml文件,path的值要和xml文件的名字前缀一样,比如我们新建ykp.xml文件,则path=”/ykp”
ykp.xml文件内容为:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/ykp" docBase="E:\m2" crossContext="true"></Context>
此时重启tomcat,访问结果如下: