Eclipse web工程 部署 三种方式

3.热部署

在Eclipse中,实现 修改一个.java文件或者.jsp文件甚至是配置文件,不需要重启WEB服务器的前提下让修改生效,实现tomcat自动加载最新的内容,目前已知两种方法。

一个是改server.xml文件,另一个是新建.xml文件.

一、修改server.xml文件(配置文件不会自动加载)
文件位置: tomcat目录/conf/server.xml

Host的结束标记</Host>前加入:

<Context path="/myjsp" docBase="D:/workspace/myjsp/webRoot" reloadable="true" debug="0" privileged="true" />

其中:
path:工程名称,访问项目的路径,即在浏览器中输入的路径
docBase:项目目录 可以为绝对路径(注意 ‘/’ 方向),也可以为相对路径(相对 webapps ,此例 docBase=”/mytest”)
reloadble:字面意思可看出,是否加载新的class文件,实现热加载。是否自动加载新增或改变的class文件。如果这个属性设为true,tomcat容器会在运行的状态下,监视WEB-INF/class和WEB-INF/lib目录下的class文件的改动,如果有检测到class文件被更新,服务器会自动重新加载web应用。
debug:表示log中记录异常的控制等级,数值越大,记录越详细。 属性与这个Engine关联的Logger记录的调试信息的详细程度。数字越大,输出越详细。如果没有指定,缺省为0。 也就是程序异常时写入日志文件里的详细程度。
privileged:

在开发阶段将reloadable 属性设为true,有助于调试servlet和其他的class文件,但这样会加重服务器运行负荷,建议在web应用的开发阶段将reloadable设为false。

二、新建.xml文件,和第一张方法类似
不修改server.xml文件。而是
在tomcat目录/conf/Catalina/localhost/目录中,
新建一个xml文件,命名也要注意! 这个xml文件的名称就是在浏览器中访问的路径。即一方法中的path。


<?xml version="1.0" encoding="UTF-8"?>

比一中,少了path属性。

三、修改content.xml,配置文件也会重新加载

文件位置: tomcat目录/conf/context.xml
<context>节点上添加reloadable="true"属性。

<Context reloadable="true">
//中间省略

2) 进入Eclipse
preference->Tomcat->JDK,在OptionalJavaVMarguments中填入
-Dcom.sun.management.jmxremote=true

3)部署完成
Note:这种方式的热部署,不仅代码类文件会自动部署,配置类文件的修改也会自动部署,可以大大节省开发等待时间。
ps:未验证 。

最基本的方式:

直接把项目web文件夹放在tocmat目录/webapp目录中

附录:

附上通过Eclipse,让Eclipse自动生成一或二中的配置文件。

下载了tomcat插件,配置tomcat的home路径。

如图,圈住的地方表示配置在tomcat目录的server文件还是新建一个xml文件进行热部署配置。

右击工程->选择properties,

配置完毕后。你可以在tomcat\conf\Catalina\localhost目录下看到生成了一个hello.xml文件。(第一张图中context declarationmode的两种配置,就是为了配置这个文件到底放在哪)

点击小猫图标 ,启动tomcat。

tomcat热部署原理解析
tomcat热部署的实现原理

参考:
http://blog.csdn.net/chen_zw/article/details/8867779
http://www.360doc.com/content/11/0622/16/987036_128731908.shtml#
其他:
第三方方式
http://www.bkjia.com/webzh/873603.html
http://qihaihui.iteye.com/blog/249799

其他2:
http://www.cnblogs.com/nami/archive/2012/09/05/2670542.html

http://blog.sina.com.cn/s/blog_525960510100jo0j.html

http://blog.csdn.net/twlkyao/article/details/17513683
http://wenku.baidu.com/view/14dd4927482fb4daa58d4b89.html

Tomcat中Context元素详解

#Eclipse web工程 部署 三种方式 3的更多相关文章

  1. Eclipse web工程 部署 三种方式 2

    Eclipse web工程 部署 三种方式 2.插件 tomcat插件下载: http://www.eclipsetotale.com/tomcatPlugin.html 解压缩后, com.sysd ...

  2. Eclipse web工程 部署 三种方式 1

    Eclipse web工程 部署 三种方式 1.run on 前提: 安装 好 eclipse.jdk.tomcat 然后 新建一个 web工程 注意此处Default output folder 最 ...

  3. Tomcat中部署web应用的三种方式

    Tomcat中部署web应用的三种方式(静态部署)       第一种,针对war或解压后的war,最为常用的是直接操作webapp目录,将完整的war包或者web应用直接放到webapp目录下.使用 ...

  4. 在Tomcat中部署web项目的三种方式

    搬瓦工搭建SS教程 SSR免费节点:http://www.xiaokeli.me 在这里介绍在Tomcat中部署web项目的三种方式: 1.部署解包的webapp目录 2.打包的war文件 3.Man ...

  5. Spark部署三种方式介绍:YARN模式、Standalone模式、HA模式

    参考自:Spark部署三种方式介绍:YARN模式.Standalone模式.HA模式http://www.aboutyun.com/forum.php?mod=viewthread&tid=7 ...

  6. tomcat发布web项目的三种方式

    tomcat发布web项目的三种方式 方式一: 配置tomcat 安装目录下的conf/server.xml <Host name="loaclhost">标签里面添加 ...

  7. 在eclipse中使用Maven建web工程的两种方式

    Eclipse版本:Neon Release (4.6.0) Maven版本:3.3.9 第一种方式: 右键新建maven工程,勾选创建一个简单工程 填入信息,注意打包方式要改为war 点击完成,创建 ...

  8. eclipse下部署web工程的两种方式

    习惯了Eclipse 的开发,就觉得不想那么懒去用MyEclipse傻瓜式的部署工程. 第一种,手动部署工程. 情况一:如果工程目录在tomcat目录的webapp目录下,这种情况就不需要有工程部署的 ...

  9. 部署WEB应用的三种方式[转]

    一.基本部署 Tomcat安装目录下有一个webapps目录,该目录存放所有的WEB应用程序,Tomcat会自动管理该目录下的所有WEB应用.因此,最简单的部署方式就是将要部署的WEB应用直接拷贝到T ...

随机推荐

  1. UVa 11396 爪分解(二分图判定)

    https://vjudge.net/problem/UVA-11396 题意: 给出n个结点的简单无向图,每个点的度数均为3.你的任务是判断能否把它分解成若干爪.每条边必须属于一个爪,但同一个点可以 ...

  2. Mysql数据库实用语句集

    mysql实用语句 (1).从第0行开始取,取3行(一般用于分页)select * from student limit 0,3 (2).查看当前数据库编码 show variables like ' ...

  3. mac 中终端查看ip 采用 ifconfig

  4. Linux安装jdk、删除Open jdk

    1.将jdk解压安装完成后,在bin目录下查看当前jdk的版本号 命令: ./java -version 2.编辑修改配置 1. 修改profile文件 进入命令:   vi  /etc/profil ...

  5. 【性能测试】服务器性能监控、数据采集工具nmon安装使用详解

    nmon nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中,然后通过nmon_analyzer工具产生 ...

  6. PHP 重载方法 __call()

    __call() 方法用于监视错误的方法调用. __call()(Method overloading) 为了避免当调用的方法不存在时产生错误,可以使用 __call() 方法来避免.该方法在调用的方 ...

  7. 最简js深浅拷贝说明

    1.浅拷贝 浅拷贝是拷贝引用,拷贝后的引用都是指向同一个对象的实例,彼此之间的操作会互相影响.  浅拷贝分两种情况: 1.直接拷贝源对象的引用 2. 源对象拷贝实例,但其属性对象(类型为Object, ...

  8. Hive 表结构操作

    添加列  add columns alter table table_name add columns (id int comment '主键ID' ) ; 默认在表所有字段之后,分区字段之前. 替换 ...

  9. python学习使用

    静态变量:函数执行完不释放的变量 python的类中 __init__相当于构造函数.

  10. Mysql解压版配置环境等

    背景故事:安装版的mysql和我的本本有仇,最后一步老卡死 1.首先先把下载好的压缩包解压,如下图: