码迷,mamicode.com
首页 > Web开发 > 详细

Tomcat部署web项目常用方式

时间:2016-05-12 13:55:20      阅读:245      评论:0      收藏: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/




Tomcat部署web项目常用方式

标签:

原文地址:http://blog.csdn.net/guitk/article/details/51362960

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!