tomcat 部署项目的三种方式

2022-10-25 16:30:35 浏览数 (1)

文章目录
  • 一 直接将web项目文件件拷贝到webapps目录中
  • 二 修改Server.xml文件
  • 三 新建xml方式

一 直接将web项目文件件拷贝到webapps目录中

我们一般把项目打成war包 然后放在webapp下 然后点击start脚本启动 war包被自动解压出来 然后部署成功

二 修改Server.xml文件

修改conf目录下的server.xml 在Host标签下添加标签

代码语言:javascript复制
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

        <Context path="/xp" docBase="D:/soft/xp" reloadable ="true" debug="0" privileged="true">
        </Context> 

</Host>

path:虚拟路径

docBase:应用程序的物理路径

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

debug:0表示提供最少的信息,9表示提供最多的信息

三 新建xml方式

在 D:softtomcat6.0apache-tomcat-6.0.14confCatalinalocalhost 目录下新建xp.xml

xml文件内容

代码语言:javascript复制
 <Context path="/xp" docBase="D:/soft/xp" reloadable ="true" debug="0" privileged="true"> 
 </Context> 

浏览器访问:localhost:8080/xml文件的名称/访问的文件名称

三种方式最终效果一样的:

有的同学会说 您会的可真多 您说的这些有依据嘛

上tomcat源码:

HostConfig.java

代码语言:javascript复制
/**
     * Deploy applications for any directories or WAR files that are found
     * in our "application root" directory.
     */
    protected void deployApps() {

        File appBase = host.getAppBaseFile();
        File configBase = host.getConfigBaseFile();
        String[] filteredAppPaths = filterAppPaths(appBase.list());
        // Deploy XML descriptors from configBase
        deployDescriptors(configBase, configBase.list());
        // Deploy WARs
        deployWARs(appBase, filteredAppPaths);
        // Deploy expanded folders
        deployDirectories(appBase, filteredAppPaths);

    }

0 人点赞