Tomcat虚拟根目录与虚拟目录

tomcat版本:apache-tomcat-7.0.42

参考:http://blog.csdn.net/pangdingshan/article/details/7214786

一、虚拟根目录

1.    Tomcat 的默认根目录:D:\apache-tomcat-7.0.42\webapps\ROOT

2.    只能有一个默认根目录

3.   一个 默认根目录只能映射一个 “文件系统目录”

启动Tomcat后,在浏览器地址栏输入:http://localhost:8080/,访问的其实就是tomcat虚拟根目录下的index.jsp文件。

二、tomcat怎么设置了虚拟根目录?

在D:\apache-tomcat-7.0.42\conf目录下的server.xml文件的Host元素中,name属性:主机名称,appBase属性:基准目录 ,基准目录下的Root 目录被自动设置为根目录

1
2
3
4
<Host name="localhost"  appBase="webapps"
    unpackWARs="true" autoDeploy="true">
    <!-- ... -->
</Host>

 

三、如果修改虚拟根目录?

在Host元素里,添加Context元素:

1
<Context path="" docBase="D:\test"></Context>

 

path: 为空代表网站根目录

docBase:可以设置绝对路径,也可设置相对路径,相对路径是相对 appBase 属性所设的目录而言的

此时再访问:http://localhost:8080/,出现404错误页面。因为在test目录下存在1.html文件,在地址栏输入:http://localhost:8080/1.html,可以访问成功。

如果想即使不输入1.hmtl也能默认访问该文件,则需修改:D:\apache-tomcat-7.0.42\conf目录下web.xml文件的<welcome-file-list>元素,将index.hmtl改为1.html,那么访问http://localhost:8080/时就会默认访问1.html

 

四、虚拟目录(根目录的子目录)

  • 可以设置多个虚拟目录

  • 一个文件系统目录(docBase)可以被映射成多个虚拟目录(path),即不同的path可以对应相同的docBase

  • 虚拟目录名称(path)可以是多级目录结构的形式

  • 一个虚拟目录就是一个独立的web应用程序

五、如何设置虚拟目录?

第1种:修改server.xml(建议使用第二种)

在server.xml文件的Host元素中,嵌套下面两条语句:

1
2
<Context path="/test1" docBase="D:\test" reloadable="true"></Context>       
<Context path="/test2/test" docBase="D:\test" reloadable="true"></Context>

 

path: 表示虚拟目录的名称(前面的正斜杠“/”可以省略)

docBase:可以设置绝对路径,也可设置相对路径,相对路径是相对 appBase 属性所设的目录而言的

reloadable:表示修改应用程序后,tomcat自动帮你部署(reload),不用重新启动

(注意,设置debug属性后,在tomcat6.0.39不会出现警告,而在tomcat7.0.42会出现警告)

添加后重启tomcat

输入:http://localhost:8080/test1/1.html,可以成功访问。

输入:http://localhost:8080/test2/test/1.html,也可以成功访问

上面例子也说明:一个文件系统目录(docBase)可以被映射成多个虚拟目录(path),虚拟目录名称(path)可以是多级目录结构的形式(/test2/test)

第2种:不修改server.xml,http://my.oschina.net/liangzhenghui/blog/184088

posted @ 2015-11-27 09:06  疯子110  阅读(16441)  评论(0编辑  收藏  举报