zoukankan      html  css  js  c++  java
  • tomcat通过conf-Catalina-localhost目录发布项目详解

    https://blog.csdn.net/hwhua1986/article/details/78436128

    Tomcat发布项目的方式大致有三种,但小菜认为通过在tomcat的conf/Catalina/localhost目录下添加配置文件,来发布项目,是最佳选择。

          因为这样对tomcat的入侵性最小,只需要新增一个配置文件,不需要修改原有配置;而且支持动态解析,修改完代码直接生效(修改配置除外)。

          但是网上关于这种方法的介绍很简单,小菜来补充一下。

     

        1.直接在eclipse中添加一个server,添加过程中指明tomcat的路径即可。

        2.在tomcat服务器的confCatalinalocalhost目录下创建一个xml文件(路径找不到就自己创建),内容如下:

        <Context path="/TestPro" docBase="D:javaProjectTestProWebContent" debug="0" privileged="true">

        </Context>

        其中path是指项目的发布路径,也就是访问路径,假如像上边那样填写,就要这样访问:http://localhost:8080/ TestPro /index.jsp;docBase是指项目的WebContent(eclipse)或WebRoot(myeclipse)目录,很好理解,你的项目最终发布,就是发布的这个目录,通过配置,直接让tomcat指向这个目录,这样就可以运行项目啦。

        注意:xml的文件名一定要和发布路径一致!在本例中xml文件名必须为:TestPro

        3.在eclipse中启动tomcat,项目即可启动。

     

      上边是比较常见的用法,但很多时候,我们希望把项目发布到tomcat根目录,这样就不用输入冗长的发布路径,直接输入域名就可以访问了。

      用这种方法把项目发布tomcat根目录,注意事项如下:

     

        1.为了保险起见,删掉tomcat服务器中的webapps目录下的ROOT文件夹。

        2.将xml中的path设成空(path="")。

        3.将xml文件名改为ROOT(ROOT.xml)。

     

      这样就可以将项目发布到tomcat根目录了,希望本文对大家有帮助。



    tomcat部署web应用的4种方法

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

    (1)利用Tomcat自动部署

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

    (3)增加自定义的Web部署文件(%Tomcat_Home%confCatalinalocalhostAppName.xml)

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

     

     

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

           

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

     

     

     

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

     

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

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

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

     

     

     

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

     

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

    [html]   view plain copy
    1. <Context path="/XXX" reloadable="true" docBase="D:workspaceWebAppAppName" workDir="D:workspaceWebAppwork"/>  

    注意:

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

    如果自定义web部署文件XXX.xml中未指明workdir,则web应用将默认部署在%Tomcat_Home%workCatalinalocalhost路径下新建的以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%confCatalinalocalhost )——点击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设置在WorkspaceWebAppwork下。

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

     

     

     

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

     

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

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

             然后启动Tomcat即可。

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


  • 相关阅读:
    状态压缩+枚举 UVA 11464 Even Parity
    数学/思维 UVA 11300 Spreading the Wealth
    贪心 UVA 11729 Commando War
    二分专题
    二分图判定+点染色/并查集 BestCoder Round #48 ($) 1002 wyh2000 and pupil
    数学 Codeforces Round #219 (Div. 2) B. Making Sequences is Fun
    贪心 Codeforces Round #191 (Div. 2) A. Flipping Game
    DP Codeforces Round #FF (Div. 1) A. DZY Loves Sequences
    递推 Codeforces Round #186 (Div. 2) B. Ilya and Queries
    递推DP Codeforces Round #260 (Div. 1) A. Boredom
  • 原文地址:https://www.cnblogs.com/sunny3158/p/14701597.html
Copyright © 2011-2022 走看看