Web应用程序的部署及WAR文件

来源:互联网 发布:java开发平均工资 编辑:程序博客网 时间:2024/05/10 09:50
 

配置任意目录下的Web应用程序

 

一个Web容器下有多个Web应用程序,webapps目录下的每一个子目录就是一个Web应用程序,这个子目录就是这个Web应用程序的上下文根。例如\webapps\ch02,上下文根就是ch02。

       在部署和访问Web应用程序时,是通过上下文根路径(context path)来区分不同的web应用程序。上下文根以”/”开始,结束没有“/”例如:/ch02。所以,凡是发往/ch02路径的请求,都由这个路径下的Web应用程序的资源来进行响应。

       在Web服务器中可以配置虚拟目录,而虚拟目录对应的真实目录可以在任何路径下。在Tomcat中利用XML配置文件中的<Context>元素设置完成。一个<Context>元素就表示一个Web应用程序,运行在特定的虚拟主机中。

       <Context>元素是<Host>元素的子元素,可以在\conf\server.xml中设置Context元素。

<Host>

       <Context path=”/ch02” docBase=”ch02” reloadable=”true”/>

</Host>

       属性解释:

docBase 指定Web应用程序的文档基目录或WAR文件的路径名,可以指定目录的或WAR文件的绝对路径名,也可以是指定相对于Host元素的appBase目录的路径名。此属性是必须的。

path 指定web应用程序的上下文路径。

Tomcat中,<Context>元素的位置

1.�TALINA_HOME%\conf\context.xml文件,在这个文件中设置的信息将被所有Web应用程序加载。

2. �TALINA_HOME%\conf\[enginename]\[hostname]\context.xml.default文件。在这个文件中的设置信息同样被该虚拟机的所有WEB应用程序所加载。

3. �TALINA_HOME%\conf\[enginename]\[hostname]\xxx.xml,在这个xml文件中,<Context>元素的docBase属性通常是Web应用程序目录的绝对路径,或是WEB应用程序归档文件WAR文件的绝对路径。

4.在WEB应用程序的目录结构中增加META-INF\context.xml文件。

 

 

WAR文件

 

 

WAR文件就是将Web应用程序打包成Web归档文件,利用WAR归档文件可以把Servlet类文件和相关资源文件集中发布,这样Web应用程序就不是按照目录层次结构进行部署,而是把WAR文件作为部署单元来使用。

       一个WAR文件就是一个Web应用程序。

       创建WAR文件:

       打开命令行,进入.�TALINA_HOME%\webapps\ch02\目录,执行命令:

       jar –cvf ch02.war *

       jar –cvf ch02.war .html WEB-INF

       查看WAR文件内容,执行命令:

       jar –tf ch02.war

       在建立WAR文件之前,需要建立正确的Web应用程序的目录层次结构。

       1.建立WEB-INF子目录,在该目录下建立classes和lib两个子目录。

       2.将Servlet类文件放到WEB-INF\classes目录下,将Web应用程序使用的JAVA类库文件(jar文件)放到lib目录下。

       3.建立web.xml文件,放到WEB-INF目录下。

       4.根据Web应用程序需要,将JSP页面或HTML页面放到上下文根路径或子目录下。

       5.如果又需要,建立META-INF目录,并在该目录下建立context.xml文件。

       只有在确保这些工作完成后,才开始建立WAR文件。