是的,必须重启,因为servlet编译后是class文件,是不能被动态修改的。这与配置文件修改后,必须重启是一样的道理,servlet发布的过程实质上就是一个类的加载的过程,在启动时,必要的类已经通过类装载器,加载到了内存,

解决方案 »

  1.   

    好象没有这个说法吧(可能我不是太懂),不过我用的tomcat没有说是非要重启才能再次访问servlet的,你等几秒钟,在控制台可以看到TOMCAT重新加载servlet的。在4.0.x和4.1.x下都是这样,我的server.xml中是这样的。
    <Context path="/test" docBase="H:\JSP" debug="0" reloadable="true" crossContext="true" />
                                                                ^^^^^^
      

  2.   

    就是楼上的那个,reloadable="true"即可。
      

  3.   

    确实有问题w2k profressional,tomcat 4.1.27.
    安装后没有做任何改动,server.xml配置如下:      <Context path="/examples" docBase="examples" debug="0"
                     reloadable="true" crossContext="true">example可以运行,修改后就报错如下:HTTP Status 503 - This application is not currently available--------------------------------------------------------------------------------type Status reportmessage This application is not currently availabledescription The requested service (This application is not currently available) is not currently available.
    --------------------------------------------------------------------------------Apache Tomcat/4.1.27
      

  4.   

    同意lEFTmOON(走哪学哪,不懂就问)
    tomcat是支持对class的修改的(我的就可以用)
    所以应该不是tomcat的错至于楼主的问题,以前也看到有人问过
    不过到底是为什么则一直没注意过
    建议楼主翻翻以前的老帖子
    如果还是没有答案的话
    那等这次解决后可以向斑竹申请为FAQ了
      

  5.   

    如果你不想修改tomcat
    那么我建议首先 把 tomcat  shutdown
    其次 删除 classes 目录下生成的那个  .class文件
    这样重新启动tomcat 它会重新编译一次 生成新的.class
    注意一定要重起tomcat 不然会在内存中保存那个.class文件 你删了目录下的class也不定用的
      

  6.   

    lEFTmOON(走哪学哪,不懂就问) 的那个改动是针对java bean的.tomcat重载就可以了.
    但是对于servlet不行,因为servlet属于control模块,必须对tomcat重起
      

  7.   

    将work目录下面的你需要的哪个内del掉
      

  8.   

    我已经改用resin, resin 完全没有这个问题。