在servlet中是否能起一个线程?我想用这个线程定时抓取其他网站的信息。
如果能的话,请高手给个例子。

解决方案 »

  1.   

    在其他的代码,如Listener中开线程最好。
    Servlet自己是受容器管理的,自己什么时候被销毁都说不好,开线程不太负责任。Servlet自己面临多线程压力,最好不要进一步复杂化这个局面。
      

  2.   

    实现了 Servlet 3.0 规范的 Tomcat 7 可以支持其中的异步 Servlet 可以实现你的功能。
      

  3.   

    我主要想实现
    while(1)
    {
        sleep(1000);//等待一段时间
        sendto("www.163.com");//向被抓取的网站发送
         receive(); //等待返回
         process();//处理
    }
      

  4.   

    当Servlet接受请求的时候,Servlet容器就会分配一个单独的线程运行这次请求,与其他对该Servlet的请求无关(除非你用了什么公共资源),所以,一般情况下是不用再自己开新线程的。
      

  5.   

    看定时任务部分的知识可以借助 quatz
      

  6.   

    Listener,比方说ContextListener,可以在应用程序启动的时候执行一次,执行的时候,开一个线程,一直循环就可以了。