Tomcat上部署web项目的目录问题

本文详细解析了Tomcat服务器中目录映射的概念,包括如何设置Web站点的根目录及虚拟子目录,通过修改server.xml文件或使用Catalinalocalhost目录下的project.xml文件实现。

记录下最近学习Tomcat关于目录的问题。

首先明确一个概念,从浏览器访问服务器的URL是映射到了服务器上的一个目录的某一个资源文件,打一个比方,有如下一条URL:http://192.168.2.99:8000/book/test.html,在不考虑内容协商的情况下,解释如下

  • 192.168.2.99:这是服务器的IP地址。
  • 8000:是Tomcat服务监听的端口号。
  • /book:这个book并不一定代表服务器上的某一个实际存在的book目录,可以把它理解为一个目录的替换。
  • test.html:浏览器请求的资源文件。

关于根目录:有2种方式设置web站点的根目录

  • <Tocamt主目录>/webapps/ROOT目录自动映射成为Web站点的根目录,所以将web项目放进ROOT目录下就可以在浏览器进行访问了。
  • 如果不想用默认的ROOT根目录,可以找到<Tomcat>/conf/server.xml文件,找到如下<Host>标签格式应该如:<Hostname="localhost"  appBase="webapps"  unpackWARs="true" autoDeploy="true">,添加如下格式的XML语句<Context path="" docBase="d:/test" debug="0" reloadable="true"/>。其中path=""时代表根目录,上边那条XML语句便将根目录设置为了"d:\test"。

关于虚拟子目录:

  • 依旧使用<context path="" docBase="d:/test" debug="0" reloadable="true"/>格式设置虚拟子目录,当path不等于“”时,如:<context path="/book" docBase="d:/test" debug="0" reloadable="true"/>便将d:\test目录映射成了/book子目录。对于URL:http://192.168.2.99:8000/book/test.html,如果未设置虚拟子目录为/book,访问的是:根目录/book/test.html,如果有设置虚拟子目录,假设为d:\test,则访问的是d:\test\test.html。对于<context>标签里的docBase属性,可以为绝对路径,也可以为相对路径,如果为相对路径,则基准路径为<Host>标签里面的appBase。
  • 也可以不修改server.xml文件,在tomcat\conf\Catalina\localhost目录下添加project.xml文件,添加如下格式语句:<Context path="/project" reloadable="true" docBase="d:/Test" workDir="D:/Test/work" />。对于URL:http://192.168.2.99:8000/project/test.html,访问的则是D:\test\test.html。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值