客户段的socket就不用写了,这样不知道大家可以看的清楚吗.谢谢各位大哥大姐了

解决方案 »

  1.   

    1.“我在jsp页面上每点一个连接就会让他调用ActionServlet,但是不管调用多少次,aaaaaa只输出一次,但是,bbbbbb会输出好多次”
    Servlet的运行机制就是这样的,init()方法只在Servlet被访问时执行一次,主要执行初始化操作。doPost()方法会每次都被执行。
    这是J2EE的Servelt组件的运行规范。
    2.“当调用第一次ActionServlet后,他会不会因为MyServerSocket的原因一直挂着,会不会结束,”
    不会。MyServerSocket是个线程。在init()内执行ss.start();后,就开起了新的线程,不会影响init()方法的继续执行。
    3.“那调用第二次的时候,他会不会产生第二个Actionservlet的對象”
    不会。
    仍然是同一个ActionServlet对象。
      

  2.   

    謝謝這位大哥
    但是還有一點不明白,ActionServlet不會因為MyServerSocket而停止運行,也就是說他一直运行到結束
    但是當我再次調用它之前,它应该是已经结束了,也就是先前产生的ActionServlet对象已经消失了,那他为什么不产生第二个对象呢
      

  3.   

    “也就是先前产生的ActionServlet对象已经消失了,那他为什么不产生第二个对象呢”
    这是Servlet的运行机制:)
    ActionServlet对象本身不死。当接收到你新的调用时,他会内部开启新的线程来响应你的请求。
    但ActionServlet本身是还在的。
    建议写繁体字的(深圳?)朋友,看一下Servelt的运行机制,您就全都明白了:)。
      

  4.   

    servlet初始化当然只执行一次
      

  5.   

    feiyuegaoshan(飞跃)说得非常清楚了,就是servlet运行机制的问题!
      

  6.   

    servlet只生成一个对象, 对于每个请求都会有个线程去处理, 这和以前的cgi程序是不一样的如果你希望你的socket程序一直挂着 ,就把它作为servlet的成员变量使用, 但是要注意多线程引起的问题
      

  7.   

    feiyuegaoshan(飞跃) ( )
    呵.是在深圳.
    谢谢各位大哥
    明白