不会有反应的,因为http是无状态的连接,客户端断开的时候也不会主动给服务器任何信号。
两个办法解决你的问题:
1。超时视为断网,但不可靠。因为不管超时时间设为长或短都不合理。
2。客户端使用一个iframe一直跟服务器保持通讯,一旦失去通讯即可视为断网

解决方案 »

  1.   

    destroy是在应用被关闭的被调用的, 所以跟你的要求完全粘不上边, 如果你想判断是否浏览器还连接着,有一个办法, 往response中发一个数据,并且catch(IOException ioe),如果连接已经断开,比如网线出问题,或者客户端关闭了IE都会有IOException会截获. 然后就可以做你想做的事了...
      

  2.   

    感谢各位的回答,我把我的麻烦实例话一下。当lucene 在更新索引的时候,writer打开了索引,进行操作,但是这个时候不可避免的有时候断线了,或者关闭了浏览器,这下writer没有close,下次再打开索引的时候不是说锁定就是损坏。我想的就是servlet执行的时候,突然和客户段断开后,能后对writer对象进行一次close,这样就不会导致索引锁定和损坏了。请各位兄弟帮帮忙!!!谢谢了
      

  3.   

    2楼兄弟的方法,不能close当前servlet中打开的org.apache.lucene.index.IndexWriter对象
      

  4.   

    怎么会不能close当前servlet中的这个对象呢?除非你没有catch到IOException,如果你catch到了,那么在catch块中做什么都可以啊.
      

  5.   

    super_zzw(之支吾) 多谢了!
     往response中发一个数据,并且catch(IOException ioe),兄弟你可以详细一点吗?
      

  6.   

    try  {lucene operation without concerning the client's status;} catch(Exception e) {
      if there is an exception which may be caused by client's disconnection, the exception will be threw.
    }  finally {writer.close();
    //anyway you can close the writer
    }
      

  7.   

    只要在finally里面close,不管是否写给客户端数据成功,也就是说不管当前网络是否有问题,close操作一定会执行的
      

  8.   

    to  jFresH_MaN(Contributing to Eclipse)突然断开后,servlet还会执行 catch 和 finally? 那servlet还在存活?
    我马上试验一下 ,原来我认为断开后servlet会马上结束的,不会执行到catch和finally
      

  9.   

    当然不会,楼主的概念还不清楚啊。
    servlet是服务器端的程序,客户端可以是多个请求同时发生,当时服务器的servlet实例只有一个的。所以一个客户端和servlet的交互过程只有request--response的过程,这个过程结束一次交互就结束了,http是无状态的连接就是这个意思。
    servlet的init是在servlet第一次启动服务的时候执行,destroy是在服务器停止服务的时候执行
      

  10.   

    多谢了,我在实验!很久没有用过java了,像servlet的状态已经模糊不清了。平常一直用php
      

  11.   

    不会有反应的,因为http是无状态的连接
      

  12.   

    lucene 搜索了就自己关闭. 结果单独返回就行了
      

  13.   

    支持 jFresH_MaN(Contributing to Eclipse) 的观点
    用try ...catch..finally就可以保证writer一定会被关闭。
    至于楼主讲的突然断开,那也是客户端没有连接服务器,但是服务器还是在执行的,servlet在服务器端的jFresH_MaN(Contributing to Eclipse)好强啊,信誉分214分, 楼主可以学习一下哟
      

  14.   

    jFresH_MaN(Contributing to Eclipse)好强啊,信誉分214分, 楼主可以学习一下哟我一直都结贴的呀,不知道为何性欲分这么低]。我测试了确实是断开后servlet将会继续执行到catch() 块,呵呵!一年没用过java了对好多概念都忘记了。感谢各位帮助。给分了