27
2017
09

Tomcat文件服务器搭建过程详解

当我们使用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,访问结果如下:

这里写图片描述

上一篇:Java为什么把String设计成不可变的? 下一篇:使用cJSON解析JSON字符串