Tomcat映射外部资源,部署应用

转载自 https://blog.csdn.net/ljun_1129/article/details/17328383


Tomcat虚拟目录映射两种方法和用途

(1)将web应用映射到tomcat中:如一个test的web应用,可以通过虚拟目录映射将其映射到tomcat(webapps)中。

(2)将外部资源映射到tomcat中以便使用:如一些外部图片、文档等,将其映射到tomcat中以便使用,如下载等。


一、两种方法


方法一:

在../conf/server.xml中

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

<Context path="/test1"  docBase="D:/Work/resourcespart1" privileged=“true”reloadable="false" debug="0"  workDir=""   />


方法二: (最佳配置)

在../conf/Catalina/localhost中任意名称创建xml文件并添加以下内容

<Context path="/test1"  docBase="D:/Work/resourcespart1"privileged=“true” reloadable="false" debug="0"  workDir=""   />


二、参数详解:

path  为虚拟路径,访问时的路径

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

workDir  是tomcat运行是对JSP文件做编译后的文件,这个文件最好也是分开。

debug    debug level,  0表示提供最少的信息,9表示提供最多的信息,建议设置为0

privileged  设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet

reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署




三、注意事项:

1.利用自定义xml文件做映射时../conf/Catalina/localhost/ 文件夹下创建一个xml文件,任意文件名都可以,比如创建一个test.xml,在文件中添加 <Context path="/test1" reloadable="false" debug="0" docBase="/path/to/your/directory" />  该文件名test就是虚拟目录,path的值test1不起作用;

2.在server.xml中配置path的值test1就是虚拟目录,这是两者之间的区别之一,另外采用自定义xml映射灵活,不用重启服务,可以随时改变文件名从而控制虚拟目录。

3.如果另外利用映射部署web应用时,将docBase设置为web应用的路径,可以将reloadable设置为true,这样可以实现动态部署,当然最简单部署就是讲web应用之间拷贝到Tomcat的webapps路径下。

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


        <init-param>
            <param-name>listings</param-name>
            <param-value>true</param-value>
        </init-param>


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


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

  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>  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值