tomcat设置虚拟目录

实现文件下载有很多方式:
1、后台读取文件,返回io流;
2、配置tomcat,用户直接连到文件系统中的文件,进行下载,如下配置:


tomcat6版本中:

1、【官方文档】本人不推荐。
tomcat\conf下server.xml中找到
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
在其中添加:
<Context path="" docBase="换成你的路径" reloadable="true"></Context>
这的docBase要改成你的项目目录。
2、 不修改server.xml【推荐使用此方法】
tomcat文件夹的conf"catalina"localhost(对于Tomcat6版本及其以上,需要自己创建catalina和localhost这两个文件夹)下新建一个xml文件。内容为
<?xml version="1.0" encoding="UTF-8"?>
<Context
docBase="换成你的路径"
reloadable="true">
</Context>
文件名改成你自己的譬如http://localhost:8080/bbs ,文件名就为bbs.xml

其他配置:
打开 Tomcat6.0"conf"web.xml 文件,找到:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
把false设成true保存,重启Tomcat,让tomcat6支持文件列表显示

 

 

 

 

方法如下:
找到%TOMCAT_HOME%\conf\server.xml,(即tomcat的安装目录下面相关的文件)打开此xml文件,在 <host> </host>之间加入如下代码:

<Context path="/app007" docBase="E:\project\app001" debug="0" reloadable="true"/>

 docBase是实际路径,这里一般写一个绝对的磁盘路径,当然也可以写相对路径,相对路径是相对于tomcat安装目录的webapps目录的,通常设置虚拟目录的目的是将tomcat的安装和项目的保存分开。

path为虚拟路径,访问时的路径,注意:一定要加“/”。

注意:这样设置时不要将应用放在wepapps目录下,否则将会导致tomcat启动两个实例

(小窍门:如果外网访问的是一个应用名称app1,内网访问的是另一个名称app2,则可以不设置虚拟路径,在webapps下新建一个空的app1应用,在其主页index.html写上window.location.href="../app2")

 

如果在测试中出现404的错误,如果前面配置没有错,可能就是在%TOMCAT_HOME%\conf\web.xml文件中把虚拟路径显示目录给禁止啦,此时可以在web.xml文件中找到
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
listings的value改为true,然后重新启动tomcat。

posted @ 2014-04-29 13:50  xhqgogogo  阅读(1115)  评论(0编辑  收藏  举报