Tomcat映射路径(应用程序基本目录)的配置方法

13 篇文章 0 订阅
7 篇文章 0 订阅

原文链接

设置虚拟目录映射一般有两种用途:

(1)把整个web应用映射到tomcat中:

如一个testapp的web应用的路径是/opt/testapp,则通过虚拟目录映射可以将其映射到tomcat(webapps)中。

(2)将外部资源映射到tomcat中以便使用:

如将一些图片、文档等放在/opt/documents中,则可以将其映射到tomcat中以便使用,如下载等。原理同(1)类似。


在${CATALINA_HOME}/conf/server.xml中进行配置

在 <host> </host>之间加入如下代码:

[html]  view plain  copy
  1. <Context path="/virtualpath" reloadable="true" debug="0" docBase="/path/to/testapp" workDir="/path/to/work" crossContext="true" >    
  2. </Context>  

docBase   是实际路径,一般为绝对磁盘路径,也可以写相对路径,相对路径是相对于tomcat安装目录的webapps目录,通常设置虚拟目录的目的是将tomcat的安装和项目的保存分开,所以这里建议使用磁盘绝对路径,并且这个磁盘路径不是在tomcat目录下。

workDir  是tomcat运行是对JSP文件做编译后的文件,这个文件最好也是分开。
path  为虚拟路径,访问时的路径,注意:一定要加“/”。值得注意的是:path可以为"/"那么访问“IP:端口”就可以访问到布置的工程,如果为"/test",那么必须得访问“IP:端口/test”才能访问到。
debug  建议设置为0

reloadable设置为true。


如果在测试中出现404的错误,如果前面配置没有错,可能就是在$CATALINA_HOME/conf/web.xml文件中把虚拟路径显示目录给禁止了,此时可以在web.xml文件中找到:

[html]  view plain  copy
  1. <param-name>listings</param-name>    
  2. <param-value>false</param-value>  

将listings的value改为true,然后重新启动tomcat。

上面的修改是全局修改。若在某一个应用中开启listing时,在WEB-INF/web.xml中:

[html]  view plain  copy
  1. <servlet>  
  2.      <servlet-name>media</servlet-name>  
  3.      <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>  
  4.      <init-param>  
  5.          <param-name>listings</param-name>  
  6.          <param-value>true</param-value>  
  7.      </init-param>  
  8.  </servlet>  
  9.  <servlet-mapping>  
  10.      <servlet-name>media</servlet-name>  
  11.      <url-pattern>/</url-pattern>  
  12.  </servlet-mapping>  

最佳配置

$CATALINA_BASE/conf/Catalina/localhost/ 文件夹下创建一个xml文件,任意文件名都可以,但是此文件名是web应用发布后的虚拟目录
比如创建一个test.xml,在文件中添加 

[html]  view plain  copy
  1. <Context path="/test" reloadable="true" docBase="/path/to/your/directory" workDir=""/>  

属性的含义同上。不需要重启服务器。


实例:将web项目映射到tomcat中,不需要每次都手动发布。

位置:/conf 文件夹里的server.xml文件

在 <host> </host>之间加入如下代码:

[html]  view plain  copy
  1. <Context path="/mysshtest" docBase="C:\Users\admin\Desktop\mysshtest\mysshtest\WebRoot" reloadable="true"/>  


这样就讲mysshtest项目发布到tomcat中了,在myeclipse中就不需要手动发布了,只需要启动tomcat服务器就可以了


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值