tomcat 和 jboss的热部署(热发布)问题
2016-05-17 00:00
597 查看
所谓的热部署(热发布)(下面称为“热部署”),就是说,在web工程发布之后,不可避免的,会遇到修改BUG的问题。现在的热部署就是为了解决这个问题,其功能就是说:在不停止web服务的同时,对jsp和java类进行修改,修改后的效果同时还能够在页面上显示出来。节省了调试时间,提高了效率。不过,修改配置文件是个例外,如果对配置文件做修改,一定要重启web服务。
常用的web服务器一般为tomcat和jboss,现一一做介绍。
1.tomcat热部署
在tomcat中支持热部署有两种方式(在原理上来说,这两种方式是一致的,只是放的位置不同)
a)在catalina_base\conf\catalina\localhost\中依照manager.xml定义一个xml文件,比如我的项目称作sodoperation,我们就可以写一个sodoperation.xml,内容如下:
<context path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>
其中,path指的是你在tomcat中的项目名称,就像manager一样,docBase是指你的项目所在的web目录。一直到欢迎页面为止(也就是web-inf的前一个目录)。但是一般来说,这个目录中最好不要有中文,如果有的话,可以在文件开始加入
<?xml version='1.0" encoding='utf-8' ?>来试一下,即整个文件变为:
<?xml version='1.0" encoding='utf-8' ?>
<context path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>
这样就可以了,如果用这种广告,同时使用myeclipse的部署的话,轻易不要remove,这样会使文件都会被删掉,不能持久。所以,建议使用第二种方法。
b)第二种方法和第一种方法在原理上是一致的,其区别就是位置的不同,这次在catalina_base\conf下的server.xml,在文件末加入:
<context path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>
解释和上面一样,这种方法在启动tomcat后,会在catalina_base\conf\catalina\localhost\中加入一个与第一种方法的文件。这样保证,只要对server.xml不做修改,你可以随便对新生成的文件删除,对热部署没有任何问题
2.jboss热部署
在jboss中做热部署也有两种方法,因为jobss集成了tomcat,也可以说这两种方法是在jobss上的一个修改。
a)修改jboss-4.0.4RC1\server\default\deploy\jbossweb-tomcat55.sar\context.xml
<Context cookies="true" crossContext="true" antiResourceLocking="true" antiJARLocking="true">
<Manager pathname=""/>
<InstanceListener>org.jboss.web.tomcat.security.RunAsListener</InstanceListener>
</Context>
加上红色的部分,重启jboss,再用myeclipse Redeploy project的时候就不需要重启,部署完了直接开浏览器预览啦
欢迎加入QQ群交流:1群已满,请加2群466355109,技术不全没关系,只要有交流的心就尽管来吧!!!
常用的web服务器一般为tomcat和jboss,现一一做介绍。
1.tomcat热部署
在tomcat中支持热部署有两种方式(在原理上来说,这两种方式是一致的,只是放的位置不同)
a)在catalina_base\conf\catalina\localhost\中依照manager.xml定义一个xml文件,比如我的项目称作sodoperation,我们就可以写一个sodoperation.xml,内容如下:
<context path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>
其中,path指的是你在tomcat中的项目名称,就像manager一样,docBase是指你的项目所在的web目录。一直到欢迎页面为止(也就是web-inf的前一个目录)。但是一般来说,这个目录中最好不要有中文,如果有的话,可以在文件开始加入
<?xml version='1.0" encoding='utf-8' ?>来试一下,即整个文件变为:
<?xml version='1.0" encoding='utf-8' ?>
<context path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>
这样就可以了,如果用这种广告,同时使用myeclipse的部署的话,轻易不要remove,这样会使文件都会被删掉,不能持久。所以,建议使用第二种方法。
b)第二种方法和第一种方法在原理上是一致的,其区别就是位置的不同,这次在catalina_base\conf下的server.xml,在文件末加入:
<context path="/sodoperation" docBase="d:\myportal\sodoperation\src\webapp"/>
解释和上面一样,这种方法在启动tomcat后,会在catalina_base\conf\catalina\localhost\中加入一个与第一种方法的文件。这样保证,只要对server.xml不做修改,你可以随便对新生成的文件删除,对热部署没有任何问题
2.jboss热部署
在jboss中做热部署也有两种方法,因为jobss集成了tomcat,也可以说这两种方法是在jobss上的一个修改。
a)修改jboss-4.0.4RC1\server\default\deploy\jbossweb-tomcat55.sar\context.xml
<Context cookies="true" crossContext="true" antiResourceLocking="true" antiJARLocking="true">
<Manager pathname=""/>
<InstanceListener>org.jboss.web.tomcat.security.RunAsListener</InstanceListener>
</Context>
加上红色的部分,重启jboss,再用myeclipse Redeploy project的时候就不需要重启,部署完了直接开浏览器预览啦
欢迎加入QQ群交流:1群已满,请加2群466355109,技术不全没关系,只要有交流的心就尽管来吧!!!
相关文章推荐
- Linux下Tomcat的安装配置
- 在 Linux 下整合 Apache 与 Tomcat
- TOMCAT优化
- Access restriction: The method encode(byte[]) from the type CharacterEncoder
- tomcat session复制
- 阿里云 centos7 Jdk8-64 mysql5.6 tomcat8 环境搭建
- Mac上安装Tomcat服务器
- Why Tomcat7 is replicating all my logs in /var/log/messages
- Why Tomcat7 is replicating all my logs in /var/log/messages
- Error running Tomcat8: Address localhost:1099 is a
- maven项目在启动tomcate的时候包找不到sping-web.jar
- java的maven工程部署到linux(包括tomcat部署,jdk安装,maven工程打包及项目运行)
- Eclipse Tomcat 无法删除过期文件的解决方案
- eclipse复制的项目发布到tomcat怎么修改其项目级别的访问路径
- linux下的jdk和tomcat安装及配置
- tomcat超时设置
- 直接访问tomcat下静态资源:文本、图片等
- TOMCAT优化
- 在CentOS上安装tomcat
- MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建