服务器会在内存紧张时将servlet干掉的。

解决方案 »

  1.   

    能否在init方法中加一个判断再清空数据库表?
      

  2.   

    我也是这样想的,但是有网友说在服务器的web.xml中可以设,谁知道?
    请指明如何设置。来者有分。
      

  3.   

    我也很想知道,我帮你查过了WEB.XML中没有相关选项!不过我觉得只要是你的SERVLET访问的频率很高的话,它自己是不会被DESTORY的!
      

  4.   

    为什么要放到一个每次请求都会调用的servlet呢,单独做一个一个application只调用一次的Servlet不就行了吗
      

  5.   

    pengji(彭乃超) :理论上还是可以被DESTORY的,我们要保证不被DESTORY。to:cytihuntor(城市猎人) 就是不能保证只调用一次的Servlet,servlet又可能被destroy了。
      

  6.   

    我的理解是你只是在每次application中只需清空一次表,那么只要做一个单独的Servlet完成这一功能,然后即使它被destroy也没朋关系,因为它永远也没有机会再次init 了。
      

  7.   

    怎样使它永远也没有机会再次init 了。清详细讲一讲,谢谢。我就是想它只执行一次。
      

  8.   

    一个servlet 如果你只调用它一次,那么它就只init一次,即使destroy了,它也不会自动init吧。
    你只要保证这个servlet不会被别的servlet调用即可。
      

  9.   

    谢谢。其实在servlet中,用一个application变量,在init方法中判断一次看有没有初始化。有就不初始化,没有就初始化然后将application变量设为有就行了。这样的方法是可以实现的。我只想探讨一下有没有方法让servlet不被destory.
    讨论一下吧,来者有分。
      

  10.   

    我认为 servlet 不被 destory 不大可能,因为它不符合servlet生命期的规范和JAVA的垃圾收集机制。除非用一些手工的办法来模拟不被destory的情况。就象楼上说的那样。
      

  11.   

    你可以在static块中初始化一个timer让它间隔很长时间做一件简单的事情,这样它是不会被destory的。祝你好运