面试官:您知道tomcat部署项目有几种方式吗?
Posted XP小课堂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试官:您知道tomcat部署项目有几种方式吗?相关的知识,希望对你有一定的参考价值。
一 直接将web项目文件件拷贝到webapps目录中二 修改Server.xml文件三 新建xml方式
一 直接将web项目文件件拷贝到webapps目录中
我们一般把项目打成war包 然后放在webapp下 然后点击start脚本启动 war包被自动解压出来 然后部署成功
二 修改Server.xml文件
修改conf目录下的server.xml 在Host标签下添加标签
<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:soft omcat6.0apache-tomcat-6.0.14confCatalinalocalhost 目录下新建xp.xml
xml文件内容
<Context path="/xp" docBase="D:/soft/xp" reloadable ="true" debug="0" privileged="true">
</Context>
浏览器访问:localhost:8080/xml文件的名称/访问的文件名称
三种方式最终效果一样的:
有的同学会说 您会的可真多 您说的这些有依据嘛
上tomcat源码:
HostConfig.java
/**
* 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);
}
点关注不迷路:
以上是关于面试官:您知道tomcat部署项目有几种方式吗?的主要内容,如果未能解决你的问题,请参考以下文章