Tomcat发布项目的方式大致有三种,但小菜认为通过在tomcat的conf/Catalina/localhost目录下添加配置文件,来发布项目,是最佳选择。
因为这样对tomcat的入侵性最小,只需要新增一个配置文件,不需要修改原有配置;而且支持动态解析,修改完代码直接生效(修改配置除外)。
但是网上关于这种方法的介绍很简单,小菜来补充一下。
1.直接在eclipse中添加一个server,添加过程中指明tomcat的路径即可。
2.在tomcat服务器的conf\Catalina\localhost目录下创建一个xml文件(路径找不到就自己创建),内容如下:
其中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应用的方式,简要的概括分别是:
(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 plaincopy
注意:
(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 plaincopy
然后启动Tomcat即可。
当然如果使用Eclipse,在Eclipse中的设置也有改变:打开菜单栏window选择preference(首选项)——左侧选择Tomcat——可以看到上图中高亮画出的Context declaration mode(Context 声明模式)中选择以Server.xml文件来部署web应用。