Tomcat中部署web应用的三种方式(静态部署)
第一种,针对war或解压后的war,最为常用的是直接操作webapp目录,将完整的war包或者web应用直接放到webapp目录下。使用war包时,启动tomcat后会将war包解压缩并生成同名称的文件夹。
webapp文件夹是可控的,可以在server.xml中修改<Host>节点的appBase元素。
ps:测试将appBase指定为绝对路径"D:/testFolder"和相对路径"../webapps"均可,启动tomcat后会在配置的对应目录下自动解压war包。
第二种,针对未打包的工程或war或解压后的war包可用,不会再webapps目录生成文件,配置conf/server.xml,在<Host>节点中添加<Context>子节点,可以配置多个。其中docBase元素指定到webContent目录,path最为虚拟路径,如:
①.未打包的工程
<Contextpath="/UrlStatic1"docBase="D:\myFolder1\UrlStatic\WebContent"privileged="true"/>
<Contextpath="/UrlStatic2"docBase="D:\myFolder2\UrlStatic\WebContent"privileged="true"/>
请求位置:
http://localhost:8080/UrlStatic1/
http://localhost:8080/UrlStatic2
②.已发布的war包,不能加privileged属性
<Contextpath="/what"docBase="D:/myFolder/UrlStatic.war"debug="0"/>
请求位置:
http://localhost:8080/what/
③.解压war
<Contextpath="/what"docBase="D:/myFolder"debug="0"/>
请求位置:
http://localhost:8080/what/
第三种,针对未打包的工程或war或解压后的war可用,在D:\apache-tomcat-6.0.41\conf\Catalina\localhost目录下添加xml文件。在xml中配置<Context>元素,设定path无效,默认将xml名称将作为虚拟路径。访问:
localhost:8080/虚拟路径(即xml的名称,如myDemo.xml虚拟路径为myDemo)。 此种方式也会将war包自动解压至webapps下,若非war包则不会有操作。
例如:
myDemo2.xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ContextdocBase="D:/myFolder/UrlStatic.war"debug="0">
</Context>
请求位置:http://localhost:8080/myDemo2/
其他方式同第二种。