概述
Tomcat部署Web项目的几种方式:
web应用部署,相当于把web应用交给服务器管理,供外界访问.
一、将war包丢进webapps(不推荐)
最简单的方式,就是把web项目直接放到tomcat的webapps目录下,tomcat会自动管理这个目录下的所有应用;
估计是 tomcat 的 conf 下 server.xml文件中配置了这样一段,默认主机就是加载这个webapps目录
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
可以直接放web应用文件,也可以放web应用的war包,tomcat启动时,会自动解压war包;
注意:这种方式部署的web应用,映射的虚拟目录就是文件名称:比如放置了一个名为 myWeb 的web应用,那么访问地址就是
http:localhost:8080myWeb
#这种方式不被推荐,项目不好管理,而且需要链接加上项目名才能正常访问。
#无需修改任何配置文件即可完成部署的原因是:conf中server.xml中host属性Appbase修改为webapps,unpackwar属性为true,autoDeploy="true"即可自动解压部署。
二、修改server.xml文件,配置虚拟主机,也叫【外链式】 :
#修改配置文件无需我们打war,这样方便开发
在server.xml文件中host节点下添加
<Context docBase="" path=""/>
#docBase : 部署项目的根目录,绝对路径,真实项目路径
#path : 虚拟路径,如果什么都不写 浏览器中可以直接访问 : localhost:8080
#如果path="xx" 浏览器中应该这样访问 : localhost:8080/xx
在tomcat 的 conf 下 server.xml文件中配置:
找到上面图片的<host>标签,这个代表主机,一个站点名称,http:\localhost 就是这个标签的name属性值,
在这个标签下添加一个<context>节点:
<Context path="/xxxx" reloadable="true" docBase="D:myapp" workDir="D:myappwork"/>
其中path是虚拟路径(访问这个web资源时输入的地址:http:\localhost:8080xxxx),docBase是web应用程序的物理路径,workDir是这个应用的工作目录,存放运行是生成的于这个应用相关的文件;
reloadable:如果希望Catalina监视/WEB-INF/classes/和/WEB-INF/lib下面的类是否发生变化,在发生变化的时候自动重载web application,设为true。这个特征在开发阶段很有用,但也大大增加了服务器的开销。因此,在发布以后,不推荐使用。但是,你可以使用Manager应用在必要的时候触发应用的重载。
这种方式的缺点是添加之后,web应用不能自动加载,必须重新启动服务器才能生效,这在生产环境就不是很实用
三、添加xml方式,配置虚拟主机(推荐使用)
在usr/local/tomcat/conf/Catalina/localhost下新建文件test.xml
添加如下内容:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="/usr/local/tomcat/conf/Catalina/localhost/test.xml" reloadable="false" />
不需要写path,虚拟目录就是文件名test.xml,path默认为/test.xml
#docBase还是指向WEB工程的绝对路径。
#不需要重启tomcat,浏览器输入:localhost:8080/test
在tomcat 的confCatalinalocalhost 目录下:
新建任何一个xml文件,在文件中配置context元素:
<Context path="/xxxx" reloadable="true" docBase="D:myapp" workDir="D:myappwork"/>
这种方式配置的web应用会被自动加载,不需要重启服务器,推荐使用;
且context元素中的path不需要指定,因为映射路径名就是xml文件的名称,比如MyWeb.xml,那么就相当于
path配置为/MyWeb。如果需要指定多级目录,比如想这样访问http://localhost:8080/a/b....,那么xml的文件名就这样配置:
a#b.xml,那路径就会映射为a/b。
注意点:
①将对应位置改为ROOT即可实现目录缺省
1.webapps/ROOT(将你的web工程名称改为ROOT即可实现缺省);
2.server.xml中对应Context标签的path属性设置为"/";
3.添加ROOT.xml即可实现WEB应用缺省。
#缺省网页bai就是默认网页的意思,就是打du开浏览器时显示zhi的第一个页面。
部署方式的优先级别:
server.xml>Catalina/localhost/ROOT.xml>webapps/ROOT
即如果同时配置以上3种方式,优先生效的为server.xml,其次为ROOT.xml,webapps优先级别最低。
#四、用eclipse集成的tomcat发布,或者将项目文件中的webroot中文件复制粘贴,放置在tomcat中webapps中新建的文件(将来路径名)里使用eclipse时项目文件没有webroot只有webcontent的需要将webcontent在eclipse中修改设置为webroot,或者将webcontent中的除META-INF以及build文件中classes文件粘贴于新建文件,即可发布。
最后
以上就是欢喜大山为你收集整理的tomcat部署web项目的方法的全部内容,希望文章能够帮你解决tomcat部署web项目的方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复