`
Mysun
  • 浏览: 273938 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Tomcat热部署

阅读更多
使用过tomcat的人都知道,为了在tomcat启动时能够加载你的Web工程,我们需要将Web工程打包成.war文件放到tomcat指定的目录下,也就是%CATALINA_HOME%/webapps目录。这样Tomcat在启动的时候就回去加载这个Web工程。这样做有两个不好的地方:
  1. 不能实现热部署。也就是当你修改了你的web工程中的某个类时,必须要重新打包才能反应出变化。即使你做了很小的一个修还也要重新打包部署你的web工程,这样做有时候是很耗费时间的。
  2. 没有办法定义你自己的Context。在Jboss里面我们可以在application.xml里面定义你的Web项目在访问时候的根目录,也就是Context。但是在tomcat里面,如果使用打包部署的方式是没有办法指定Context的。

为了解决上面的两个问题,我们可以再Tomcat的配置文件server.xml中(位于%CATALINA_HOME%/conf/server.xml),添加一个<Context/>标签。具体如下:
<Host name="localhost" 
      debug="DEBUG" 
      appBase="webapps" 
      unpackWARs="true"  
      autoDeploy="true"
      xmlValidation="false" 
      xmlNamespaceAware="false">
   <Context path="/myapp" docBase="c:/myapp"/>

    .....

    ....
</Hose>

实现tomcat热部署需要修改context.xml,位于%CATALINA_HOME%/conf/context.xml。如下:
<Context antiJARLocking="true" antiResourceLocking="true">

    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
	
    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->
</Context>

注意放置<Context>标签的位置,在<Host>标签内部。
其中属性path指定了Context。按照以上的配置,你访问你的web工程的url应该是:http://localhost:8080/myapp/xxx.do这样的形式。http://localhost:8080/myapp是根路径。
doBase属性告诉tomcat到c:/myapp这个目录下去加载web工程。一般这个目录都是我们的开发目录,这样我们改动就可以直接反映出来,而不需要重新部署。
当然对代码做了修改需要重新编译,而且修改了任何配置文件最好是重新启动一下Tomcat。
分享到:
评论

相关推荐

    tomcat热部署之发布工程

    本文档主要针对tomcat热部署需要修改哪些配置文件,如何实现热部署,提供解决说明

    IDEA+Tomcat热部署配置.doc

    本文将深入解析如何在IntelliJ IDEA(简称IDEA)中配置Tomcat热部署,以实现更高效的工作流程。 ### 一、理解热部署 热部署的核心在于能够在开发过程中动态地更新应用程序,而无需经历传统的停止服务、重新部署、...

    Tomcat热部署,让你轻松部署

    【标题】:Tomcat热部署,让你轻松部署 在IT行业中,服务器的部署与管理是一项重要的任务,尤其是在Java Web开发领域。Tomcat作为一款广泛使用的开源Servlet容器,其部署方式和效率直接影响到开发人员的工作效率。...

    Tomcat热部署配置说明及工具

    本篇文章将详细介绍如何配置Tomcat实现热部署,并提及一种常用的热部署工具——JRebel。 首先,我们来理解什么是热部署。在传统的开发流程中,每当代码发生变化,都需要停止服务器,部署新的应用,然后重新启动...

    Tomcat 热部署方案

    **Tomcat热部署方案详解** 在开发过程中,频繁地重启服务器来测试代码的修改是非常耗时的。Tomcat热部署方案就是为了应对这个问题,允许开发者在不重启Tomcat的情况下,更新应用中的类文件,提高开发效率。本文将...

    Maven工程Tomcat热部署详解.pdf

    在进行Maven工程的Tomcat热部署详解时,首先需要掌握Java后台开发中对于Tomcat热部署的基本知识。这涉及到Java环境的搭建,Tomcat的安装,以及Maven工程中对于热部署的配置方法。 Java环境的搭建是热部署的前提。在...

    Tomcat 热部署

    【描述】:Tomcat热部署 Tomcat的热部署功能使得开发人员能够在开发过程中实时看到代码更改的效果,而无需重新启动服务器。这对于快速迭代的项目尤其重要,因为它节省了频繁重启服务器的时间。然而,Tomcat默认并不...

    tomcat热部署包

    标题中的“tomcat热部署包”指的是一个特别配置或工具,允许Tomcat应用服务器在不完全停止服务的情况下更新已部署的应用程序。这极大提升了开发效率,因为开发者可以在修改代码后立即看到更改的效果,而无需每次调整...

    maven工程配置Tomcat热部署

    在用maven项目的时候,很多时候不想去再把项目部署到Tomcat上,然后发布并启动,这个时候我们就可以运用Tomcat热部署来配置,只需要再maven的配置文件加上一小段代码即可,非常方便! 启动的时候直接:右键项目--...

    jrebel + myeclipse9.0 + tomcat 热部署攻略

    本教程将详细讲解如何在MyEclipse 9.0集成环境中,结合JRebel插件和Tomcat服务器,实现Spring项目热部署的攻略。 首先,我们来了解JRebel。JRebel是一款强大的Java应用热部署工具,它能够实时地更新类、资源文件...

    tomcat热部署+操作文档,修改任何java后台文件也不需要重启

    本压缩包提供的“tomcat热部署+操作文档”旨在帮助用户实现这一功能。 首先,我们要理解什么是Tomcat的热部署。热部署是指在应用程序运行时,能够动态替换或更新应用的类文件或资源文件,而无需停止或重启服务器。...

    IDEA+Tomcat热部署配置.pdf

    其中,"IDEA+Tomcat热部署配置"是开发者们关注的一个重要话题,因为热部署能够显著提升开发流程的效率,减少手动重启服务器的次数,使得代码修改后可以立即在运行中的服务器上生效。 热部署(Hot Deployment)是指...

    tomcat 热部署问题

    Tomcat的热部署(以后就不用重起了) tomcat上的部署问题,有时候也是个麻烦的问题,要是不采用热部署, 我们就只能每次对原来的文件做一次改动的时候就要重新部署。

    tomcat 热部署 hot deploy Jrebel 加大JVM内存

    标题 "Tomcat 热部署 Hot Deploy Jrebel 加大JVM内存" 涉及的是在Java开发环境中,如何实现应用服务器Tomcat的热部署功能,并通过Jrebel工具提高开发效率,以及如何调整JVM内存配置以优化运行性能。 热部署(Hot ...

    Eclipse中使用tomcat 热部署 Jrebel6.4.3 不需安装插件

    Eclipse中使用tomcat 热部署 Jrebel6.4.3 不需安装插件

    intellij idea tomcat热部署配置教程

    下面根据给定文件内容,详细介绍IntelliJ IDEA配置Tomcat热部署的方法和步骤。 1. 设置Debugger-HotSwap 在IntelliJ IDEA的设置界面中找到Debugger-HotSwap选项,确保勾选了Build project before reloading classes...

    maven-eclipse-tomcat热部署

    【 Maven 热部署在 Eclipse 和 Tomcat 中的实践】 Maven 是一个强大的构建工具,广泛用于Java项目管理,它负责构建、依赖管理和项目信息管理。在开发Web应用程序时,结合Eclipse集成开发环境(IDE)和Tomcat服务器...

    tomcat热部署

    使用这个tomcat热部署,只要不增加新的方法和文件 服务器就不用启动 可以立刻测试自己刚刚所写的代码

    springMVC样例、jreloader实现tomcat热部署

    jreloader 是一款针对Tomcat的热部署工具,它可以监控应用中Java类文件的变化,并在检测到变化时自动重新加载,从而避免了每次修改代码后都需要手动重启服务器的繁琐步骤。这对于开发者来说,极大地提高了开发效率。...

Global site tag (gtag.js) - Google Analytics