博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tomcat虚拟根目录与虚拟子目录
阅读量:6419 次
发布时间:2019-06-23

本文共 1429 字,大约阅读时间需要 4 分钟。

hot3.png

tomcat版本:apache-tomcat-7.0.42

一、虚拟根目录

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

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

二、tomcat哪里设置了虚拟根目录?

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

    

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

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

path:为空,即访问localhost:8080就可以访问到docBase目录下的文件,修改原来默认根目录

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

此时再访问:http://localhost:8080/,出现404错误页面。因为在test目录下不存在index.html文件,在D:\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

四、虚拟子目录

虚拟子目录(虚拟目录),即<Context path="" docBase=""></Context>,path属性不为空的情况。

为什么虚拟根目录和虚拟子目录要区分?

假设新增应用且path为"system",那么在html文件里,"/"代表虚拟根目录,即前缀为localhost:8080/。但是在Servlet的web.xml文件的url-pattern元素中,"/"代表的是虚拟子目录,即localhost:8080/system/。

五、如何设置虚拟目录?

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

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

       

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,也可以成功访问

第2种:不修改server.xml,

转载于:https://my.oschina.net/u/1171518/blog/219745

你可能感兴趣的文章
split分割字符串若用"("进行分割需要进行转义
查看>>
awk
查看>>
第三周编程总结
查看>>
发布功能完成
查看>>
用js实现返回上一页
查看>>
因数分解
查看>>
数据结构之队列
查看>>
并发编程(二)
查看>>
[html5]localStorage的原理和HTML5本地存储安全性
查看>>
vc 多行文本框CEdit垂直滚动条定位到最底端
查看>>
basic4android 开发 推送功能
查看>>
DFS实现排列组合
查看>>
centos7安装redis
查看>>
EF 约定介绍
查看>>
web 服务发布注意事项
查看>>
管道 一些知识
查看>>
关于使用flying-saucer-pdf,实现xhtml2pdf
查看>>
http缓存详解
查看>>
简单内存映射
查看>>
Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web mod
查看>>