`

在Tomcat中部署Web程序的几种方式

阅读更多

在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署。在下文中$CATALINA_HOME指的是Tomcat根目录。
一、静态部署
     静态部署指的是我们在服务器启动之前部署我们的程序,只有当服务器启动之后,我们的Web应用程序才能访问。以下3中方式都可以部署:
    1、将PetWeb目录拷贝到$CATALINA_HOME\webapps下,然后启动服务器就可以了。这种方式比较简单,但是web应用程序必须在webapps目录下。访问地址如下:
http://localhost:8080/PetWeb/
   2、这种方式可以不必将PetWeb目录拷贝到webapps下,直接在F:\部署。方法如下,更改$CATALINA_HOME\conf\server.xml文件,在<host>标签内添加<Context>标签,内容如下:
<Context docBase="F:/PetWeb" reloadable="false" path="/Pet"/>
其中reloadable="false"表示当应用程序中的内容发生更改之后服务器不会自动加载,这个属性在开发阶段通常都设为true,方便开发,在发布阶段应该设置为false,提高应用程序的访问速度。docBase为路径,可以使用绝对路径,也可以使用相对路径,相对路径相对于webapps。path属性的值是访问时的根地址。访问地址如下:http://localhost:8080/Pet/
    3、这种方式和第二种方式差不多,但是不是在Server.xml文件中添加Context标签,而是在$CATALINA_HOME\conf\Catalina\localhost中添加一个xml文件,如Pet.xml,内容如下:
<Context docBase="F:/PetWeb" reloadable="false" />大家可能发现和第二种方式差不多,但是缺少了path属性,这种方式服务器会使用.xml的名字作为path属性的值。访问地址如下:http://localhost:8080/Pet/
   
    我们刚才是将PetWeb文件夹部署在了服务器中,我们知道可以将Web应用程序的内容打成.war包,然后在部署在服务器上。打包请参考如下步骤:
    1、打开命令提示符(Start-->Run-->cmd)
    2、设置jdk环境变量
    3、在命令提示符中进入F:\PetWeb文件后,键入如下命令:
jar ..\Pet.war *.*  这样在F:\下应该有Pet.war文件。其中..表示当前目录的父目录。
     部署Pet.war文件非常简单,将刚才有docBase="F:\PetWeb"更改为docBase="F:\Pet.war"或者直接将其拷贝到webapps下也可以。重新启动服务器就可以将Pet.war部署为一个Web应用程序了。如果你够细心的话你会发现,服务器将Pet.war文件解开,并且在webapps下面又生成了一个Pet文件夹,然后把Pet.war的内容拷贝到里面去了。我们可以通过以下方式取消自动解压缩,配置方式如下:
<Context docBase="F:/PetWeb" reloadable="false" unpackWAR="false"/>
二、动态部署
    动态部署是指可以在服务器启动之后部署web应用程序,而不用重新启动服务器。动态部署要用到服务器提供的manager.war文件,如果在$CATALINA_HOME\webapps\下没有该文件,你必须去重新下载tomcat,否则不能完成以下的功能。要想使用该管理程序必须首先编辑$CATALINA_HOME\conf\tomcat-users.xml文件,
上文且说到tomcat-users.xml文件,这个文件中的内容是不依赖于任何一个web应用程序,所以在任何一个web程序中都可以使用,如果这些用户和角色只对你的应用起作用,那么你完全可以放置在你自己的应用程序中,比如WEB-INF中.下面我们将上次加入到tomcat-users.xml文件中的内容,加入到我们在WEB-INF下新建的myUser.xml文件中,注意此文件应该是以<tomcat-users>为根目录,如下所示:
<tomcat-users>
  <!--定义角色-->
  <role rolename="suozhangshi"/>
  <role rolename="guahaoshi"/>
  <role rolename="danganshi"/>
  <!--定义用户,并加入到角色中-->
  <user username="gua1" password="gua1" roles="guahaoshi"/>
  <user username="gua2" password="gua2" roles="guahaoshi"/>
  <user username="dang1" password="dang1" roles="danganshi"/>
  <user username="dang2" password="dang2" roles="danganshi"/>
  <user username="suo1" password="suo1" roles="suozhangshi"/>
  <user username="suo2" password="suo2" roles="suozhangshi"/>
</tomcat-users>

    这个文件已经建立好了,那么怎么告诉Tomcat加载这个文件呢?我们通过下面这一种方式,在你的Web应用程序中的META-INF文件夹中加入Context.xml 文件,这样当此应用程序部署的时候,就会加载该文件的内容,内容如下:
<Context>
  <Realm className="org.apache.catalina.realm.MemoryRealm"
         pathname="webapps/SecurityWeb/WEB-INF/myUsers.xml" />
</Context>
    Realm标签中className属性定义了使用MemoryRealm类从pathname处加载xml文件。。还要注意这里的pathname它是以相对Tomcat根目录的,所以上文件路径应该从webapps开始。最后重新启动服务器再访问你程序,应该能够看到和上次相同的效果

分享到:
评论
1 楼 ruyi574812039 2014-06-03  
非常感谢您的总结!
想问几个问题!
假设三个项目分别以静态部署的三种方式配置到一个tomcat上,启动tomcat可以同时加载这三个项目吗?
我测试了一下,为什么不好使呢?tomcat瞬间启动了,没加载上项目呢?
谢谢..

相关推荐

    tomcatweb项目部署方式.docx

    在 Manager App 中,可以选择 WAR 文件部署或目录部署两种方式。WAR 文件部署方式需要上传 WAR 文件,然后 Tomcat 服务器会自动部署项目。目录部署方式需要输入目录的 URL,Tomcat 服务器会自动部署项目。 Tomcat ...

    tomcat 部署java项目 jar

    标题中的“tomcat部署java项目jar”指的是在Apache Tomcat服务器上部署Java Web应用程序,通常以JAR(Java Archive)格式打包。Tomcat是一个开源的轻量级应用服务器,主要用于运行Servlet和JSP(JavaServer Pages)...

    tomcat中部署java项目

    除了上述几种部署方式外,Tomcat 还提供了一个基于 Web 的 Manager 应用程序,用于远程部署和管理应用。使用 Manager 应用程序进行部署时,需要先配置好用户权限。具体步骤如下: 1. **配置用户权限**:编辑 `conf/...

    tomcat服务器上部署项目

    部署项目主要有以下几种方式: 1. **WAR文件部署**:如果你的应用是一个完整的WAR文件,可以直接将其放入`webapps`目录下。Tomcat会自动检测到新的WAR文件,并在后台解压并部署。等待一段时间后,应用就可以通过`...

    提供一个《在Tomcat部署和发布Web应用》的入门教程

    部署Web应用到Tomcat主要有两种方式:通过管理工具(如Tomcat Manager)或直接将应用文件复制到相应的部署目录。以下是详细步骤: 1. **使用Tomcat Manager**: - 首先,确保你的Tomcat服务器已经安装并配置了...

    Solr在Tomcat下的部署

    ### Solr在Tomcat下的部署知识点详解 #### 一、准备工作 在开始部署Solr之前,需要准备以下软件包: 1. **Tomcat版本**:本案例中使用的是`apache-tomcat-6.0.41`。Tomcat作为Java Servlet容器,是Apache软件基金会...

    IDEA+Tomcat热部署配置.doc

    在IT领域,特别是Java Web开发中,热部署(Hot Deployment)是一种非常实用的功能,它允许开发者在不重启服务器的情况下更新应用程序代码,极大地提高了开发效率。本文将深入解析如何在IntelliJ IDEA(简称IDEA)中...

    tomcat 中连接Mysql的五种方法

    为了实现 Tomcat 应用与 MySQL 数据库的有效交互,本文将详细介绍五种在 Tomcat 中连接 MySQL 的方法,并对每种方法进行深入分析,帮助开发者根据实际情况选择最适合的方式。 #### 方法一:将 MySQL 驱动放置于 ...

    JavaWeb笔记06Tomcat部署方式.pdf

    由于提供的文件内容...以上知识点涵盖了Tomcat部署Web应用程序的多种方式和一些相关的操作,对于学习Java Web开发和部署是非常重要的。对于初学者来说,掌握这些基础知识将有助于后续更加深入地学习Java Web技术栈。

    Tomcat与Java_Web开发技术详解3.pdf

    2. **热部署**:支持在不重启服务器的情况下更新和部署Web应用。 3. **虚拟主机**:可以在同一台服务器上运行多个不同的Web站点。 综上所述,《Tomcat与Java Web开发技术详解》这本书不仅全面覆盖了Tomcat的基本...

    Tomcat部署项目的几种常见方式[亲测]

    在本文中,我们将深入探讨如何在Apache Tomcat服务器上部署Web项目,主要涵盖三种常见的部署方式,以及一种热部署的方法。这些方法都是经过实践验证的,对于理解和掌握Tomcat项目部署具有很高的参考价值。 1. **...

    tomcat部署多个项目

    在 Tomcat 上部署多个项目主要通过以下几种方式实现: 1. **直接放置于`webapps`目录:** - 这是最简单也是最常用的部署方式。 - 用户只需将 `.war` 文件或展开后的项目文件直接放置到 Tomcat 的 `webapps` 目录...

    tomcat部署web项目之java开源订销管理系统-javainfo

    标题 "tomcat部署web项目之java开源订销管理系统-javainfo" 提示我们,这个压缩包包含了关于如何在Tomcat服务器上部署一个基于Java的开源订购销售管理系统的信息。这通常涉及以下几个关键知识点: 1. **Java Web...

    tomcat下部署php所需的配置php环境变量包

    在IT行业中,尤其是在服务器管理和Web应用部署领域,Tomcat与PHP是两种常见的技术。Tomcat是一款流行的开源Java Servlet容器,主要用于运行Java Web应用程序,而PHP则是一种广泛用于服务器端脚本的编程语言,尤其...

    使用Tomcat搭建WEB开发环境

    部署WAR文件有几种方法:一是将WAR文件放入Tomcat的webapps目录下,Tomcat会自动解压并部署;二是通过管理工具如Tomcat Manager进行在线部署;三是修改Tomcat的conf/server.xml文件,手动添加Context元素来指定应用...

    windows下部署tomcat项目小记

    部署Web项目通常有两种方式: 1. **部署方式一**:将打包好的WAR文件(如`tspace.war`)直接复制到`Tomcat\webapps`目录下。Tomcat会自动检测到新添加的WAR文件并进行解压,然后在`webapps`目录下生成同名的文件夹...

Global site tag (gtag.js) - Google Analytics