环境说明:
Tomcat 解压目录:D:\tomcat-7.0.23
一、默认根目录
概念及原则
1. Tomcat 的默认根目录:D:\tomcat-7.0.23\webapps\ROOT(ROOT 目录下必须有WEB-INF 目录,ROOT 目录才会被设置为默认根目录)
2. 只能有一个默认根目录
3. 一个 默认根目录只能映射一个 “文件系统目录”
虚拟根目录的设置
1. Tomcat 自动将D:\tomcat-7.0.23\webapps\ROOT 设置为根目录
对应的设置为:D:\tomcat-7.0.23\conf\server.xml 文件里的 <Host> 元素,name属性:主机名称,appBase属性:基准目录 ,基准目录下的Root 目录被自动设置为根目录
- <Host name="localhost" appBase="webapps"
- unpackWARs="true" autoDeploy="true">
2. 在 server.xml 文件中设置 <Context> 元素
<Context path="" docBase="F:\web" debug=”0“>
path: 为空代表网站根目录
docBase:可以设置绝对路径,也可设置相对路径,相对路径是相对 appBase 属性所设的目录而言的
说明:每一个<Host> 元素是一个主机,<Context>元素是一个虚拟目录
浏览测试路径 URL:http://127.0.0.1:8080/index.html
<Context path="" docBase="\web" debug=”0“>
这时需要在D:\tomcat-7.0.23\webapps\web 目录下存在,index.html 文件
浏览测试路径 URL:http://127.0.0.1:8080/index.html 访问的文件是D:\tomcat-7.0.23\webapps\web\index.html
二、虚拟子目录
1. 可以设置多个 “虚拟目录”
2. 可以将一个 “文件系统目录” 映射成任意的单级或多级 “虚拟目录” 结构形式
3. 一个 “文件系统目录” 可以被映射成多个 “虚拟目录”
URL请求所访问的web文件的查找匹配原则:最长路径匹配原则
先查找最长的 “虚拟目录" 是否匹配URL路径,如果不匹配,再查找匹配的短“虚拟目录"
虚拟子目录设置
1. 在 server.xml 文件中设置 <Context> 元素
<Context path="/pds" docBase="F:\web" debug=”0“>
path: 以 / 开头 ,表示虚拟子目录
docBase:可以设置绝对路径,也可设置相对路径,相对路径是相对 appBase 属性所设的目录而言的
说明:每一个<Host> 元素是一个主机,<Context>元素是一个虚拟目录
浏览测试路径 URL:http://127.0.0.1:8080/pds/index.html
2. 特定目录中包含的 XML 文档包含<Context>元素
例如:
2.1 Tomcat 4.X 的<Tomcat 主目录>/webapps 目录
2.2 Tomcat 5.X 的<Tomcat 主目录>/conf/<引擎名>/<主机名> 目录
3. <Host> 元素的appBase 属性所设置的基准目录的下一级目录中含有 WEB-INF/web.xml 文件
4. <Host> 元素的appBase 属性所设置的基准目录中有 var 文件
var 文件打包方式
只打包文件夹里面的内容,不打包文件夹本身。 例如打包为test.var
1. 进入文件夹F:\web,使用打包命令
jar -cvf test.var .
此时生成的var 包在 F:\web 目录下
浏览测试路径 URL:http://127.0.0.1:8080/pds/index.html
2. 不进入文件夹,在F:\ 路径下,使用打包命令
jar -cvf test.var -C web .
此时生成的var 包在F:\ 目录下,将 var 包放到 F:\web 目录下
浏览测试路径 URL:http://127.0.0.1:8080/pds/index.html
注意:在D:\tomcat-7.0.23\webapps 目录或者D:\tomcat-7.0.23\webapps\ROOT 目录下,貌似要解压出来,我在测试时不加压不行