Tomcat设置虚拟目录的方法

在实际项目部署到服务器后会出现访问文件的权限问题,

通过寻找找到了一篇讲解虚拟路径的方法可以借鉴使用:

转载自:https://blog.csdn.net/pangdingshan/article/details/7214786

环境说明:

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 目录被自动设置为根目录

 
  1. <Host name="localhost" appBase="webapps"

  2. 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  目录下,貌似要解压出来,我在测试时不加压不行

说明:在编写blog是使用了张孝祥老师的视频截图

猜你喜欢

转载自blog.csdn.net/sinat_36743893/article/details/81181381