今天看材料上说servlet在被请求或是服务器启动时初始化,直到服务器关闭才销毁实例。那这样是不是意味着尽可能的少一些servlet,每个servlet多实现一些方法,就能节省服务器资源?
    假设有一下两种情况:
    A. 一个servlet实现10种方法;
    B. 五个servlet实现10种方法,每个servlet分别实现两个。
    现在分别对两种情况下的服务进行大量请求,请问两者的效率是一样的吗?或者它们的效率差异有多大?
    谢谢!

解决方案 »

  1.   

    不是这样的,他说的初始化是每当你启动服务器的时候,他就会调用你你设定好的一些初始化参数,然后加载,如果你没有设定初始化参数,那么他就只会初始化Servlet中一些基本的东西,当你调用Servlet的service方法的时候,他会去找你的请求,并调用一次你的service中的init()方法,然后调用你的逻辑方法,请求完了,他就调用销毁方法把servlet销毁的,这个你不用担心,况且现在很少有人直接写servlet请求,都是用框架什么的了,这些资源的问题自然框架设计者在设计的时候就很好的解决了
      

  2.   

    其实服务器在启动的时候只是创建了一个Servlet容器,你可能是把servlet容器想成了servlet对象了吧
    ,不管多少个servlet,多少个servlet请求,他都只会在同一容器中,我建议你可以去看下servlet生命周期然后就解决了
      

  3.   


    你好 非常感谢你的指点。
    服务器启动时创建一个servlet容器,然后所有的请求都由servlet容器分配到各servlet实例中的service()方法,servlet容器负责servlet实例的初始化和销毁
    这样理解对吗?
    谢谢
      

  4.   

    服务器启动时创建一个servlet容器不是的。容器是本身就有的,只不过做servlet的实例化。你把他理解成有些网吧的刷卡机,上机激活,中途充值什么的,下机取消~~~