在Tomcat中部署多个web项目可以采用以下几种方法:
上传taget目录文件
maven多个web项目编译完成之后,将taget目录下的文件上传,将ServletTest02整个目录上传到webapps目录
war包
多个web项目分别打成war包,然后将这些war包分别部署到Tomcat的webapps目录下。每个war包会自动解压成一个单独的web应用。
访问url:http://localhost:8080/web工程/资源
注:启动tomcat服务器,浏览器地址栏输入http://localhost:8080/webapp1
配置server.xml
在Tomcat的conf目录下的server.xml文件中添加多个 Context 元素,每个 Context 元素对应一个web项目的部署配置。例如:
上述配置表示在webapps目录下存在webapp1和webapp2两个目录,将它们作为web应用部署到路径 /webapp1 和 /webapp2。需要注意的是,docBase 指定了web应用的实际路径,path 指定了该web应用的访问路径。
把每个web工程的资源路径和映射路径,在Host标签的Context子标签中进行配置,每个web工程配置一个Context子标签。
例如:
docBase - web工程的资源路径
path - web工程的映射路径 ,即服务器将path路径解析为docBase路径。
此时的访问url: http://localhost:8080/path/资源
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="/test" docBase="D:\java\CODE\JavaWeb\book_static" />
<Context path="/tomcat_test" docBase="D:\java\CODE\tomcat_test" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
配置XML
在Tomcat的conf目录下的Catalina/localhost目录中创建多个xml文件,每个xml文件对应一个web项目的部署配置。例如,在Catalina/localhost目录下创建webapp1.xml和webapp2.xml文件,内容类似以下示例:
上述配置表示将路径 D:\path\to\webapp1 作为web应用部署到路径 /webapp1。
xml配置文件内容,同上,例如:
注:xml文件名与path名一致。
tomcat启动时,自动读取配置文件。
此时的访问url: http://localhost:8080/path/资源
启动多个tomcat
一台电脑同时运行多个tomcat配置方法:
分别在原始Tomcat文件夹和复制的Tomcat2文件夹中,进入conf目录,找到server.xml文件。修改server.xml文件中的端口号,确保每个Tomcat实例有不同的端口号