zoukankan      html  css  js  c++  java
  • Tomcat 映射虚拟目录和程序热部署

    虚拟目录的设置

    方法一:
    在${tomcat安装目录}/conf/Catalina/localhost目录创建一个xml文件,任意文件名都可以,但是此文件名是web应用发布后的虚拟目录;

    比如创建一个img.xml,在文件中添加

    test.xml内容:
    <Context  path="/img" docBase="H:image" crossContext="true" debug="3" privileged="true"  reloadable="true" deubt="true">
    </Context>


    浏览器中的地址:img与文件img.xml的文件名一致


    方法二:
    直接修改server.xml文件,请在修改之前先做好备份。

        <server>

            <Engine>

                <Host>

                        ......

                        <Context  path="/img" docBase="H:image" crossContext="true"

                                 debug="3"  privileged="true" reloadable="true"  debug="true">
                        </Context>

                </Host>

            </Engine>
        </server>

     

    属性说明:

    • crossContext  如果想在应用内调用ServletContext.getContext()来返回在该虚拟主机上运行的其他web application的request dispatcher,设为true。在安全性很重要的环境中,设为false,使得getContext()总是返回null。缺省值为false。
    • docBase         该web应用的文档基准目录(Document Base,也称为Context Root),或者是WAR文件的路径。可以使用绝对路径,也可以使用相对于context所属的Host的appBase路径。
    • override         如果想利用该Context元素中的设置覆盖DefaultContext中相应的设置,设为true。缺省情况下为false,使用DefaultContext中的设置。
    • privileged       设为true,允许context使用container servlets,比如manager servlet。
    • path              web应用的context路径。catalina将每个URL的起始和context path进行比较,选择合适的web应用处理该请求。特定Host下的context path必须是惟一的。如果context path为空字符串(""),这个context是所属Host的缺省web应用
    • reloadable      如果希望Catalina监视/WEB-INF/classes/和/WEB-INF/lib下面的类是否发生变化,在发生变化的时候自动重载web application,设为true。这个特征在开发阶段很有用,但也大大增加了服务器的开销。因此,在发布以后,不推荐使用。
    • debug           是否为调试模式,如果在开发时显示调试信息,设为true。

     

    热部署的设置
    tomcat上的部署问题,有时候是个麻烦的事,当修改java的代码后都要重启tomcat。现在,我们采用热部署,节省开发时间。

    实现步骤:

    1. 根据上面虚拟目录的设置方法,建立虚拟目录,在这里采用方一,因为不用修改server.xml文件

    在${tomcat安装目录}/conf/Catalina/localhost目录创建一个xml文件,任意文件名都可以,但是此文件名是web应用发布后的虚拟目录;


    test.xml内容:
    <Context  path="/test" docBase="E:workspace estWebRoot" crossContext="true" debug="3" privileged="true"  reloadable="true">
    </Context>


    2. 修改eclipse 的.classpath文件的output路径

    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
            ......
        <classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>
    </classpath>


  • 相关阅读:
    三大主流负载均衡软件对比(LVS+Nginx+HAproxy)
    nginx 提示the "ssl" directive is deprecated, use the "listen ... ssl" directive instead
    centos安装nginx并配置SSL证书
    hadoop创建目录文件失败
    The server time zone value 'EDT' is unrecognized or represents more than one time zone.
    脚本启动SpringBoot(jar)
    centos做免密登录
    数据库远程连接配置
    Bash 快捷键
    TCP三次握手四次断开
  • 原文地址:https://www.cnblogs.com/molashaonian/p/7242052.html
Copyright © 2011-2022 走看看