`

Tomcat 7源码学习笔记 -5 web app自动reload

阅读更多

一个运行中的web app,如果修改了其中的一部分代码,然后更新了class文件或者其它文件,那么在不重新启动tomcat的情况下,如何让tomcat自动载入最新的代码呢?配置方式有几种:

 

假设web应用名为test,engine名为Catalina,host名为localhost

1.可以在test/META-INF目录下面放置一个context.xml文件,内容如下:

 

<Context reloadable="true"/>

 

2.也可以在conf/Catalina/localhost目录下放置一个test.xml文件,内容如下:

 

<Context reloadable="true"/>

 

3.如果想让localhost下的所有web应用都自动reload,那么可以在conf/Catalina/localhost目录下放置一个context.xml.default文件,内容如下:

 

<Context reloadable="true"/>

 

4.如果希望tomcat下的所有web应用都自动reload,还有一种方法。方法如下:

 

随便修改一下test/WEB-INF/web.xml文件,比如加个空行,然后保存,这样tomcat会自动监测到web.xml被修改了,然后就重新加载test应用。这个自动监测的配置属于tomcat的默认配置,配置信息如下:

 

conf/context.xml文件中

 

<WatchedResource>WEB-INF/web.xml</WatchedResource>

 

这个文件中的配置适用于所有的web应用,不过这种方法有些局限性,就是WatchedResource中只能指定一个具体的文件,不支持WEB-INF/*等模式匹配,所以无法做到监测整个web应用。

 

5.还可以修改server.xml文件,在<host>下面配置<Context>信息:

 

<Context path="/test" docBase="test" reloadable="true"/>

不过这种方法不建议使用,因为修改server.xml文件需要重启tomcat,而且不便于管理,因为server.xml里面的配置信息比较重要,所以最好把web应用自身的配置信息放在单独的文件中管理比较好。

分享到:
评论

相关推荐

    apache-tomcat-6.0.44-windows-x64

    任何放置在此目录下的WAR文件或文件夹都会被Tomcat自动部署为一个Web应用。 7. `work`目录:JSP编译后的类文件和Web应用程序的工作目录,用于存储Servlet和JSP在运行时生成的临时文件。 8. `apache-tomcat-6.0.44....

    bitnami-docker-configmap-reload-源码.rar

    - 学习源码可以帮助理解如何实现配置监听和通知机制,以及如何在 Docker 容器环境中运行。 5. **配置热更新**: - 在 Docker 容器中,通常需要手动重启容器来应用配置更改。但 bitnami-docker-configmap-reload ...

    vite-plugin-full-reload::recycling_symbol:修改文件后自动重新加载页面

    修改文件后自动重新加载页面 为什么? :thinking_face: 使用,我想查看服务器渲染的布局和模板的更改,而无需手动重新加载页面。 另外,在中,当触发Rails重装时会生成路径帮助器。 修改config/routes.rb时触发...

    jakarta-tomcat-5.5.7-admin.zip

    1. **Manager 应用**:解压后的文件中包含的`manager`应用是一个Web应用程序,可以通过Web浏览器访问,进行部署、undeploy、reload和status等操作。 2. **Host Manager 应用**:`host-manager`应用允许管理员管理...

    apache-tomcat-5.5.36.tar.gz

    - 将Web应用的WAR文件或解压后的目录放入`/opt/apache-tomcat-5.5.36/webapps`目录下,Tomcat会自动部署应用。 - 修改`/opt/apache-tomcat-5.5.36/conf/server.xml`配置文件,可以自定义端口、连接器和其他高级...

    ember-cli-inject-live-reload:Ember CLI插件,可将实时重载脚本注入HTML内容

    ember-cli-inject-live-reload ember-cli插件,用于将实时重载脚本注入HTML内容。 概述 该插件将注入脚本标签,以将ember-cli-live-reload.js到应用程序html的头部。 ember-cli-live-reload.js是动态生成的,以...

    mysql-java8-tomcat8

    7\增加tomcat的防火墙规则 firewall -cmd --zone=public --add-port=8080/tcp --permanent firewall -cmd --reload 8\配置管理控制台界面登录 (1)修改 tomcat/conf/tomcat-users.xml 在节点上增加如下配置: ...

    tomcat-7.0.52.tar.gz 【linux】

    安装tomcat 1.下载tomcat 2.上传到linux 3.新建一个文件夹 mkdir /usr/local/tomcat 4.移动或者复制 tomcat...tar.gz 到 /usr/local/tomcat mv apache-tomcat-7.0.52.tar.gz /usr/local/tomcat/ 5.进入/usr/...

    tomcat 7.0源码

    通过深入学习Tomcat 7.0的源码,开发者不仅可以理解Web服务器的工作原理,还能掌握如何优化服务器性能,提升应用的运行效率,同时对Java EE规范有更深入的认识。这将对开发和运维工作带来极大的帮助。

    apache-tomcat7 linux

    Apache Tomcat7是一款广泛应用的开源Java Servlet容器,用于部署和运行Java Web应用程序。在Linux操作系统上安装Apache Tomcat7是一个常见的任务,对于那些需要在服务器上构建基于Java的Web服务的人来说至关重要。...

    让MyEclipse里的Tomcat自动Reload

    让MyEclipse里的Tomcat自动Reload

    前端开源库-gulp-server-livereload

    前端开源库-gulp-server-livereloadGulp服务器Livereload,运行本地Web服务器的Gulp插件,通过socket.io启用了Livereload。还附带独立的命令行界面。

    Atom-atom-grammar-live-reload,语言语法实时重新加载原子(异步)。对ldez/atom的贡献.zip

    该项目包含的文件“atom-grammar-live-reload-master”很可能是项目的主分支或源代码目录,里面可能包括以下组成部分: 1. `package.json`:这个文件定义了插件的基本信息,如名称、版本、依赖等,是Atom插件的核心...

    vite-plugin-sfc-reload:Vite的一个非常特定的插件,它监视Drupal SFC文件的更改并在模板更新时重新加载

    vite-plugin-sfc-reload 修改Drupal SFC文件的模板部分时,自动重新加载页面 基于vite-plugin-full-reload插件,适用于SFC Drupal文件。 [vite-plugin-full-reload]: : 为什么? 当开发基于单个文件组件的Drupal...

    Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项(tomcat8为例)

    在Linux(CentOS7)操作系统中安装Apache Tomcat并将其设置为开机启动是一项常见的任务,特别是在部署Java web应用时。本篇文章将详细讲解如何在CentOS7上安装Tomcat8并将其配置为自启动服务。 首先,我们来了解...

    apache-tomcat-8.5.55.tar.gz

    Apache Tomcat是一款开源的Java Servlet容器,用于部署和运行Java Web应用程序。在Linux系统中安装`apache-tomcat-8.5.55.tar.gz`文件的过程涉及多个步骤,包括下载、解压、配置和启动服务。以下是详细的安装和配置...

    rollup-plugin-livereload:LiveReload您的汇总捆绑包!

    汇总插件LiveReload安装npm install --save-dev rollup-plugin-livereload用法// rollup.config.jsimport livereload from 'rollup-plugin-livereload'export default { entry : 'entry.js' , dest : 'bundle.js' , ...

    gulp-webserver, 使用LiveReload运行本地web服务器的流媒体插件.zip

    gulp-webserver, 使用LiveReload运行本地web服务器的流媒体插件 web服务器 使用LiveReload运行本地web服务器的流媒体插件提示:这是对吞咽连接的重新编写。安装$ npm install --save-dev gulp-webserver用法gulp.src...

    vite-plugin-live-reload:一个*非常*简单的实时重新加载插件

    vite-plug-live-reload 一个非常简单的实时重新加载插件。 例子 有工作时,我使用此配置 (假设你的柯比的网站是一个内部的public文件夹)。 注意:您正在查看的路径是相对于vite的根文件夹的。 // vite.config.js ...

    最新版linux apache-tomcat-9.0.37.tar.gz

    10. **应用部署**:将Java Web应用(WAR文件)放入 `$CATALINA_HOME/webapps` 目录下,Tomcat会自动检测并部署应用。 以上就是关于"最新版linux apache-tomcat-9.0.37.tar.gz"的详细解析,包括了安装、配置、管理和...

Global site tag (gtag.js) - Google Analytics