Tomcat部署web项目常用方式

5 篇文章 0 订阅
# web项目部署到tomcat方式总结

一:web项目最终的发布结构为:项目名为Env

	eclipse中项目结构图:
		


	eclipse export出的war包:上层目录为Env


	


 文本说明:
	Env
	   META-INF
	   WEB-INF
		   lib
		   calsses
		   web.xml
二:web.xml 配置
	<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>T</display-name>
  <servlet>
  	<servlet-name>hello</servlet-name>
  	<servlet-class>com.tomatoman.env.EnvServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>hello</servlet-name>
  	<url-pattern>/hello</url-pattern>
  </servlet-mapping>
	  ........
</web-app>

三,项目部署方式
方法1:
	直接把项目war包放到tomcat/webapps/  目录下,启动tomcat访问即可。
	注意:放到webapps的war包访问时会自动被tomcat解压,所以直接把war包放到tomcat的webapps下即可。
	访问方式:根据web.xml的配置,http://localhost:8080/Env/hello
	其中,Env为创建web项目时的项目名,hello为web.xml 配置的servlet-mapping
	
方法2:
	 修改配置文件tomcat/conf/server.xml,在server.xml 中<Host></Host> 中增加
<Context path="" docBase="/Users/gzq/Documents/web/Env" debug="0" reloadable="true"/>
其中,
	docBase:WEB-INF 的上一级目录
	path:虚拟路径,
	访问方式:根据web.xml和Context的配置,http://localhost:8080/hello

     如果Context的虚拟路径path为 haha:
<Context path="/haha" docBase="/Users/gzq/Documents/web/Env" debug="0" reloadable="true"/>

     则访问方式为:http://localhost:8080/haha/hello
     所以虚拟路径path的配决定了你项目最终的访问方式
注意:
	1,war包不放在webapps下,tomcat时不会自动解压的,所以需要自己解压好,把解压后的第一级目录配置到docBase下即可
	2,如果war是在webapps下,可以不修改server.xml 直接访问,但是如果仍想配置,或修改访问路径,比如域名直接访问,则可以这样配置,不需要解压war
	<Context path="" docBase="/Env" debug="0" reloadable="true"/>

方法3:
	在conf目录中,在Catalina\localhost(此处需要注意目录的大小写)目录下新建一个XML文件,任意命名zeze.xml(但是这个xml文件的名字必须和内部Context 虚拟路径path的名字一致),zeze.xml代码如下。
<Context path="zeze"  docBase="/Users/gzq/Documents/web/Env"  debug="0"    privileged="true"/>   

访问路径:根据web.xml 和 zeze.xml 的配置:http://localhost:8080/zeze/hello

注意:
	1,Catalina\localhost 目录下增加的xml文件名字必须和内部Context 虚拟路径path的名字一致,否则访问出错。
	
五,注意:
    删除一个Web应用同时也要删除webapps下相应的文件夹和server.xml中相应的Context,还要将Tomcat的conf\catalina\localhost目录下相应的xml文件删除,否则Tomcat仍会去配置并加载。。。

总结:
1,可以认为,第一种配置方式(直接在把没有解压的war包放到webapps目录下),tomcat在启动的时候会自动在内存中为server.xml <Host></Host> 中配置
<Context path="/Env" docBase="/Env" debug="0" reloadable="true"/>
其中Env 时eclipse中创建改web项目的项目名,同时也是war包解压后的第一级目录

2,第二种和第三种方式配置更为自由,可以随意定制虚拟路径path,如果不配置,则可以用域名直接访问servlet,

3,如果采用第二种和第三种方式配置,即path为空
 <Context path="" docBase="/Users/gzq/Documents/web/Env" debug="0" reloadable="true"/>

同时在项目的web.xml 中增加这么一行配置,
   <servlet-mapping>
  	<servlet-name>hello</servlet-name>
  	<url-pattern>/</url-pattern>
  </servlet-mapping>

则可以直接用域名的方式访问servlet:http://localhost:8080/

 
 
 

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值