tomcat 项目部署方式

 在Tomcat中有四种部署Web应用的方式,简要的概括分别是:

(1)利用Tomcat自动部署

(2)利用控制台进行部署

(3)增加自定义的Web部署文件(%Tomcat_Home%\conf\Catalina\localhost\AppName.xml)

(4)手动修改%Tomcat_Home%\conf\server.xml文件来部署web应用

 

 

第一种方式:利用Tomcat自动部署

       

        利用Tomcat自动部署方式是最简单的、最常用的方式。若一个web应用结构为D:\workspace\WebApp\AppName\WEB-INF\*,只要将一个Web应用的WebContent级的AppName直接扔进%Tomcat_Home%\webapps文件夹下,系统会把该web应用直接部署到Tomcat中。所以这里不再赘述。

 

 

 

第二种方式:利用控制台进行部署

 

        若一个web应用结构为D:\workspace\WebApp\AppName\WEB-INF\*,利用控制台进行部署的方式如下:进入tomcat的manager控制台的deploy区域——在Context path中键入"XXX"(可任意取名)——在WAR or Directory URL:键入D:\workspace\WebApp\AppName (表示去寻找此路径下的web应用)——点击deploy按钮。

          然后在%Tomcat_Home%\webapps路径下将会自动出现一个名为XXX的文件夹,其内容即是D:\workspace\WebApp\AppName的内容,只是名字是XXX而已(这就是前面在Context path键入XXX的结果)。

以上说明利用控制台进行部署的实质仍然是利用Tomcat的自动部署。

 

 

 

第三种方式:增加自定义的Web部署文件

 

        若一个web应用结构为D:\workspace\WebApp\AppName\WEB-INF\*,这种部署方式稍微复杂一点,我们需要在%Tomcat_Home%\conf路径下新建一个文件夹catalina——再在其中新建一个localhost文件夹——最后再新建一个XML文件,即增加两层目录并新增XML文件:%Tomcat_Home%\conf\Catalina\localhost\web应用配置文件.xml ,该文件就是部署Web应用的配置文件。例如,我们新建一个%Tomcat_Home%\conf\Catalina\localhost\XXX.xml,  该文件的内容如下:

[html]  view plain  copy
  1. <Context path="/XXX" reloadable="true" docBase="D:\workspace\WebApp\AppName" workDir="D:\workspace\WebApp\work"/>  

注意:

      (1)以上代码中的workDir表示将该Web应用部署后置于的工作目录(Web应用中JSP编译成的Servlet都可在其中找到),如果使用的Eclipse作为IDE,一般可人为设置在WebApp的work目录下。

如果自定义web部署文件XXX.xml中未指明workdir,则web应用将默认部署在%Tomcat_Home%\work\Catalina\localhost\路径下新建的以XXX命名的文件夹下。(Web应用中JSP编译成的Servlet都可在其中找到)

      (2)Context path即指定web应用的虚拟路径名。docBase指定要部署的Web应用的源路径。

        其实开发者可以使用安装有Tomcat插件eclipse自动创建部署文件来部署Web应用而不必再手动建立该文件,方法如下: 

1. 打开Eclipse——打开菜单栏window选择preference(首选项)——左侧选择Tomcat,如下图示:

        2. 可以看到上图中高亮画出的Context declaration mode(Context 声明模式)中选择以Context files增加自定义部署文件的形式部署web应用——然后Contexts directory中指定上述文件的上级目录(即%Tomcat_Home%\conf\Catalina\localhost )——点击Apply或OK。

        3. 完上述步骤,再选中Web项目右键点击properties(属性)——选择右侧的Tomcat ,如下图所示:

      4. 勾上"Is a Tomcat project"前的checkbox,将项目关联至Tomcat。

在Context name中填入XXX,即Web应用自定义部署文件名和Context path名。

在Subdirectory to set as web application root (optional)中填入要部署的Web应用的实际路径(即WEB-INF上级目录)。

注意:Eclipse会自动地将workdir设置在Workspace\WebApp\work下。

如此便自动创建了%Tomcat_Home%\conf\Catalina\localhost\XXX.xml 文件。启动Tomcat 即可自动部署Web应用。

 

 

 

第四种方式:手动修改%Tomcat_Home%\conf\server.xml文件来部署web应用

 

         此方法即打开%Tomcat_Home%\conf\server.xml文件并在其中增加以下元素:

[html]  view plain  copy
  1. <Context docBase="D:\workspace\WebApp\AppName" path="/XXX" debug="0" reloadable="false" />  

         然后启动Tomcat即可。

         当然如果使用Eclipse,在Eclipse中的设置也有改变:打开菜单栏window选择preference(首选项)——左侧选择Tomcat——可以看到上图中高亮画出的Context declaration mode(Context 声明模式)中选择以Server.xml文件来部署web应用。

         启动Tomcat即可。



 在tomcat 5.5之后(context 配置方法)

---------------------------------------------------------------

不推荐在server.xml中进行配置,而是在/conf/context.xml中进行独立的配置。因为 server.xml 是不可动态重加载的资源,服务器一旦启动了以后,要修改这个文件,就得重启服务器才能重新加载。而 context.xml 文件则不然, tomcat 服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器 。

Xml代码 
  1. <Context path="/kaka" docBase="kaka" debug="0" reloadbale="true" privileged="true">  
  2. <WatchedResource>WEB-INF/web.xml</WatchedResource>  
  3. <WatchedResource>WEB-INF/kaka.xml</WatchedResource> 监控资源文件,如果web.xml || kaka.xml改变了,则自动重新加载改应用。  
  4. <Resource name="jdbc/testSiteds" 表示指定的jndi名称  
  5. auth="Container" 表示认证方式,一般为Container  
  6. type="javax.sql.DataSource"  
  7. maxActive="100" 连接池支持的最大连接数  
  8. maxIdle="30" 连接池中最多可空闲maxIdle个连接  
  9. maxWait="10000" 连接池中连接用完时,新的请求等待时间,毫秒  
  10. username="root" 表示数据库用户名  
  11. password="root" 表示数据库用户的密码  
  12. driverClassName="com.mysql.jdbc.Driver" 表示JDBC DRIVER  
  13. url="jdbc:mysql://localhost:3306/testSite" /> 表示数据库URL地址  
  14. </Context>  

 

3、context.xml的三个作用范围

---------------------------------------------------------------

1. tomcat server级别:

在/conf/context.xml里配置

2. Host级别:

在/conf/Catalina/${hostName}里添加context.xml,继而进行配置

3. web app 级别:

在/conf/Catalina/${hostName}里添加${webAppName}.xml,继而进行配置