[转]Tomcat部署web应用的几种方法

供稿:hz-xin.com     日期:2025-01-21
tomcat部署项目的几种方式

一、静态部署
1、直接将web项目文件件拷贝到webapps 目录中
Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse等。也可以用 cmd 命令:jar -cvf mywar.war myweb
webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
将appBase修改即可。
2、在server.xml中指定
在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个JSP应用程序。打开server.xml文件,在Host标签内建一个Context,内容如下。


在tomcat中的conf目录中,在server.xml中的,节点中添加:


或者

或者


说明:
path是虚拟路径;
docBase 是应用程序的物理路径;
workDir 是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;

debug 则是设定debug level, 0表示提供最少的信息,9表示提供最多的信息
privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet
reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署
antiResourceLocking和antiJARLocking 热部署是需要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。
3、创建一个Context文件
在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello(hello.xml),该xml文件的内容为:


tomcat自带例子如下:
<Context docBase="${catalina.home}/server/webapps/host-manager"
privileged="true" antiResourceLocking="false" antiJARLocking="false">

这个例子是tomcat自带的,编辑的内容实际上和第二种方式是一样的,其中这xml文件名字就是访问路径,这样可以隐藏应用的真实名字。
4、注意:
删除一个Web应用同时也要删除webapps下相应的文件夹和server.xml中相应的Context,还要将Tomcat的conf\catalina\localhost目录下相应的xml文件删除,否则Tomcat仍会去配置并加载。。。
二 动态部署
登陆tomcat管理控制台:http://localhost:8080/,输入用户名和密码后便可管理应用并动态发布。
在Context Path(option):中输入/yourwebname ,这代表你的应用的访问地址。
XML Configration file URL中要指定一个xml文件,比如我们在F:\下建立一个hmcx.xml文件,内容如下: 其中docBase不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填,在WAR or Directory URL:中键入F:\hmcx即可,然后点击Deploy按钮,上面就可以看到了web应用程序,名字就Context Path(option):中的名字。

如果部署.war文件还有更加简单的方式,下面还有个Select WAR file uploae点击浏览选择.war文件,然后点击Deploy也可以。

在Tomcat中有四种部署Web应用的方式,简要的概括分别是:
(1)利用Tomcat自动部署

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

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

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

tomcat部署web应用主要有以下几种方式: 1.拷贝你的WAR文件或者你的web应用文件夹(包括该web的所有内容)到$CATALINA_BASE/webapps目录下。 2.为你的web服务建立一个只包括context内容的XML片断文件,并把该文件放到$CATALINA_BASE/webapps目录下。这个 web应用本身可以存储在硬盘上的任何地方。这种context片断提供了一种便利的方法来部署web应用,你不需要编辑server.xml,除非你想 改变缺省的部署特性,安装一个新的web应用时不需要重启动Tomcat。3.同方法2,只是将context片断放在CATALINA_BASE\conf\Catalina\localhost目录下.这种方法比方法2要有效,笔者经过多次实验发现方法2不如后面这种方法好用.前者多次出现系统打不开的情况. 4.直接在server.xml中</Host前加上Context片断,使用这种方法时,tomcat会自动在 CATALINA_BASE\conf\Catalina\localhost目录下生成一个文件片断.方法同方法3具有同样效果.这种方式需要将 ROOT目录删除才行. 另外,为了让tomcat只运行conf/server.xml中指定的web应用,可以有以下几种办法:实现一: 1)将要部署的WEB应用放在webapps以外的路径, 并在server.xml相应的context中的docBase指定. 2)删除webapps中的所有文件夹, 以及conf/catalina/localhost下所有xml文件. 注: webapps是server.xml中的Host元素的appBase属性的值.实现二: 1) 修改server.xml中Host元素的属性, 添加或修改: deployXML="false" deployOnStartup="false" autoDeploy="false"2) 含义: deployXML="false": 不部署conf/catalina/localhost下的xml相应的WEB应用 deployOnStartup="false" : tomcat启动时, 不部署webapps下的所有web应用 autoDeploy="false": 避免tomcat在扫描改动时, 再次把webapps下的web应用给部署进来

tomcat下的webapps 是什么
Tomcat下的webapps是Tomcat服务器的一个核心组件,用于部署Web应用程序。Web应用程序通常是一组用于提供Web服务的文件和资源,如HTML页面、JavaServlets、JSP页面等。在Tomcat中,webapps目录是一个特殊的目录,用于存放这些Web应用程序。Tomcat服务器会自动扫描并加载webapps目录下的应用程序,使得这些应用程序...

一个Web应用部署到Tomcat服务器上之后的目录结构是怎样的
web应用程序结构分析:--src:基本存放.java和一些像struts.xml的文件。--web-root:部署web项目就是部署这个文件。--web-root下web-inf:存有页面(jsp\/html)和.java生成的.class文件。---Tomcat部署结构--- 1、它不会添加的你的src目录,它会把你web-root这个文件夹给你改成web项目的名字部署到...

如何在tomcat发布新应用程序
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeloy="true" xmlValidation="falase" xmlNamespaceAware="false"> 2、在server.xml中指定 在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个JSP应用程序。打开...

使用tomcat部署java工程,通常有哪几种方式
注意:删除一个Web应用同时也要删除webapps下相应的文件夹祸server.xml中相应的Context,还要将Tomcat的conf \\catalina\\localhost目录下相应的xml文件删除。否则Tomcat仍会岸配置去加载。。。tomcat部署web应用主要有以下几种方式:1.拷贝你的WAR文件或者你的web应用文件夹(包括该web的所有内容)到$CATALINA...

用tomcat部署的web应用在外网能打开么
理论上在本机能访问,在外网就能访问。访问方式就是ip地址加端口,或者通过域名绑定你的ip地址,在路由器上设置映射端口。如果不是固定ip可以用发生壳。

应用中间件tomcat及v3系统部署实战
Tomcat提供处理HTML页面的功能,同时支持Servlet和JSP容器。其目录结构主要包括bin脚本存放目录、conf配置文件目录、lib jar包的目录、logs日志目录、webapps系统运行的目录等。部署应用时,只需将war包或程序文件夹复制到%tomcat_home%\/webapps目录下,Tomcat会自动部署该Web应用。在Tomcat中,应用服务器启动...

tomcat部署web项目访问不了
您想问的是tomcat部署web项目访问不了的原因吗?端口冲突、配置错误。1、端口冲突:检查Tomcat使用的端口是否与系统中其他应用程序使用的端口冲突。默认情况下,Tomcat使用8080端口,但您可以将其更改为其他未使用的端口。2、配置错误:检查Tomcat配置文件是否正确。确保您的Web应用程序的Web应用程序描述符(...

tomcat部署文件不想放在webapps下怎么做?
方法如下:在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个JSP应用程序。打开server.xml文件,在Host标签内建一个Context,内容如下。在tomcat中的conf目录中,在server.xml中的,<host\/>节点中添加:<Context path="\/hello" docBase="D:\\ ...

tomcat部署的项目在哪
eclipse并不像MyEclipse默认将项目部署到tomcat安装目录下的webapps中,而默认部署到工作目录(workspace)下的.metadata\/.plugins\/org.eclipse.wst.server.core\/tmp0\/wtpwebapps中。webapps这个目录下多了一个解包的myweb文件夹。然后在浏览器中就可以通过 http:\/\/localhost:8080\/myweb\/index.html这个地址...

Eclipse下如何部署Tomcat服务器
1. 创建一个“Dynamic Web Project”。2. 按照界面提示,完成项目配置。为了确保Tomcat服务器显示于控制台,并将Web应用部署至服务器中,请执行以下操作:1. 在项目视图中,选中项目并点击“Add”按钮,或者直接双击项目名称,将项目添加到Tomcat服务器。2. 项目右键菜单中,选择“Run as” -> “Run ...