Tomcat虚拟目录配置

来源:互联网 发布:表白墙免费源码 编辑:程序博客网 时间:2024/06/16 04:23

Tomcat虚拟目录配置

 

设置虚拟目录 "test",通过 http://localhost:8080/test 访问,其物理路径为E:/JavaWebApp文件夹里面的内容。

设置过程为:

 

1.复制 Tomcat7.0/webapps/ROOT 目录下的 WEB-INF 文件夹到E:/JavaWebApp目录下。

2.之后大概有两种方式(官方和推荐

 

一.官方方式

 

打开 Tomcat7.0/conf/server.xml 文件,在 <Host> 和 </Host> 之间加入:

<Contextpath="/test" docBase="E:/JavaWebApp"></Context>

path="/test"就是虚拟目录的名称

docBase="E:/JavaWebApp">为物理路径

 

二.推荐方式, 不修改server.xml

 

在tomcat文件夹的conf\catalina\localhost(对于Tomcat6版本及其以上,需要自己创建catalina和localhost这两个文件夹) 中增加project.xml文件(该文件名中的project要和下面path= ”/xxx” 中的xxx相同)

 

其文件内容为:

 <Contextpath="/project" reloadable="true" docBase="E:\JavaWebApp"workDir="E:\JavaWebApp\work" />

docBase是项目文件夹的WEB-INF文件夹的上一层目录

workDir是指Tomcat解析JSP转换为Java文件,并编译为class存放的文件夹,设置在项目文件夹里面,可以避免移植到其他地方首次读取JSP文件需要重新解析 。一般格式:项目文件夹 work

reloadable是指可以重新加载,一般设置为true,方便使用,不需要经常重启Tomcat。

 

以后启动Tomcat,在浏览器输入http://localhost:8080/project就能访问该项目的welcome文件。(本例中为http://localhost:8080/test)

 

3.之后的过程为:

打开 Tomcat/conf/web.xml 文件,找到:

<init-param>

<param-name>listings</param-name>

<param-value>false</param-value>

</init-param>

把false设成true保存,重启Tomcat,现在就可以应用 http://localhost:8080/test 虚拟目录了。

 

对于最后一个过程的解释:

 

①如果为“false”,则默认不显示虚拟目录,如果输入http://localhost:8080/test,则会显示status 404,但是如果访问者知道其中的内容,可直接访问,例如输入http://localhost:8080/test/test.jsp,就可以直接访问虚拟目录下的test.jsp文件。

 

②只有在“true”的设置下,才会以目录的形式显示出虚拟目录中的内容。

 

补充阅读材料:

 

Tomcat 7.x配置虚拟路径的方法有两种:

1.修改conf下的server.xml文件,在<Host></Host>标签之间加入

<Context path="/[虚拟路径的名字]" debug="0" reloadable="true" docBase="[对应硬盘上的地址]" listingfiles="true"></Context>

 

2.不修改server.xml,在conf\Catalina\localhost中添加xml文件,注意:这个xml文件名必须和你的path的名字相同。

这里以upload为例子:

<Context path="/upload" debug="0" reloadable="true" docBase="D:\Upload\images" listingfiles="true"></Context>

 

在修改完了之后,就可以进行测试了,这里还是以upload为例子。

在浏览器里输入  localhost:8080/upload/test.jpg就能查看到对于文件夹里的图片了。

 

那么直接输入  localhost:8080/upload/会怎么样呢?那要看Tomcat的web.xml文件配置了。

1

2

3

4

5

6

7

8

9

10

11

12

13

<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>true</param-value>

    </init-param>

    <load-on-startup>1</load-on-startup>

</servlet>

注意上面的 listings 当它设置为true的时候,访问  localhost:8080/upload/  时会列出里面的文件。

而默认是设为false的,所以无法直接访问到 localhost:8080/upload/ 这个文件夹,这一点要注意一下。
0 0
原创粉丝点击