当创建完server后,eclipse默认为server创建一个类似的工程叫Servers,这个工程中目录结构如下所示:
双击打开server.xml,当添加了一个项目到tomcat后,可以看到,自动添加了一个Context节点,如:
<Context docBase="stuff" path="/stuff" reloadable="true" source="org.eclipse.jst.jee.server:stuff"/>
其中docBase和path默认为工程名称。
这里特别需要注意的是reloadable这个属性,它是热部署的关键,默认为true。在tomcat启动后,会监视我们的工程,如果任何文件有变动,会重新加载这些变动的文件到工程发布目录。当reloadable属性为true时,这对于jsp文件没有问题,但是如果是Java文件修改后,这个属性为true的话,每次修改都会自动重新启动tomcat,这当然不是我们想要的。所以记住要把这个属性手动修改成false,才能够在修改了java文件时不用重启服务也能立即生效,即热部署。
这里说的java文件的修改,不包括新添加类和添加或修改类中的方法签名,如果新添加类或修改了方法签名,也是不能热部署的,必须重启服务才能够生效。