关于tomcat的热部署

在做java web开发时,常用的服务器就是tomcat了。如果tomcat不能实现热部署,那么恐怕每次更改文件进行发布就尤其费时了。

热部署定义:在未改变class文件的签名的前提下,文件的修改是不需要进行重新发布的。

class签名:方法名,参数,返回值。

对于servlet,需要关注其编译后的class文件位置,对于jsp亦是。不过不同的是jsp又需要编译为.java文件,亦即servlet。只要class文件和jsp在同一项目下,tomcat就能进行热部署。如此按照这个思想,再对应下面配置的思路,无论使用何种IDE都是可以行得通。

这里介绍使用或未使用maven。

未使用maven。

在未使用maven的情况下,推荐tomcat配置如下图:

Server Locations建议改为tomcat的安装目录,便于查找。Publishing是必然要改为Never publish automticlly。tomcat启动模式也必须以debug模式。然而你发现即使这样,jsp依然无法热部署。

如果既要对jsp也同时实现热部署,需要先改动项目编译的class路径到项目的WebContent下。更改方法:buildpath->config build path->source。更改下面的default output filder到你的WebContent下面classes文件夹(如果没有就建一个吧,这些编译文件不是源码可以不用提交svn)。如果是MyEclipse就是WebRoot,并且已经自动编译到classes文件夹下了,就不需要上一步,从这里讲,MyEclipse还是方便的。然后改动Server下的server.xml,指向项目的绝对路径,记得是项目的下一级的WebContent。

总之,WebContent下一定要有你项目的class文件和jsp文件。这样就实现热部署了。

<Context docBase="web2" path="/web2" reloadable="false" source="org.eclipse.jst.jee.server:web2"/>
改为:
<Context docBase="D:\eclipsewor1\web2\WebContent" path="/web2" reloadable="false"/>

maven下实现热部署。

maven实现热部署比较麻烦,比较maven生成的文件太多了,但是还是按照以上思路。

要保证你的WebContent文件(可以理解为根目录文件)里面有你项目的编译后的一切。

1,利用maven建立一个web项目。

2,更改编译文件路径。更改后,把Allow output folders for source folders勾掉再勾上,触发监听以改动上面文件的编译路径。

3,更改server.xml文件的路径。(2,3参考以上两点。)

更改后的server.xml文件

<Context docBase="hah1" path="/hah1" reloadable="false" source="org.eclipse.jst.jee.server:octopus"/></Host>

tomcat配置:

注:maven创建javaweb项目和java项目请参考:

转载于:https://www.cnblogs.com/shuaixianbohou/p/4903297.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值