zoukankan      html  css  js  c++  java
  • Tomcat 映射虚拟目录

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

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

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

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

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

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

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

    [html] view plain copy
     
     print?
    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
     
     print?
    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
     
     print?
    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>  



    2 最佳配置

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

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

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

  • 相关阅读:
    Python中xlrd和xlwt模块读写Excel的方法
    本地安装apk后直接打开,按下Home键再重新打开,然后按下返回键时页面展示错误的处理方法
    Celery在Django中的简单应用
    drf之认证、权限、频率
    drf分页器
    drf之请求、响应、视图
    Django序列化器的简单使用
    Django之URL反向解析
    两大grafana实用插件快速监控kubernetes
    JenkinsPipeline语法概要
  • 原文地址:https://www.cnblogs.com/kms1989/p/5972306.html
Copyright © 2011-2022 走看看