求助大神
本小菜鸟初学javaweb,对服务器只能产生一个servlet实例对象十分不解,如果两个不同的servlet类,同时调用这两个类,会产生几个对象呢 --------------------编程问答-------------------- 相当于工厂模式一样,什么样的servlet类在工厂实例化好在调用各自的需求的对象,还是一个对象,就像医院的分诊平台类似,一个楼层的分诊平台只有一个 --------------------编程问答-------------------- servlet是单实例,多线程的形式。 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 同意二楼。不影响使用的啊,再多的人用也是用doGet或doPost两个方法,在方法里写代码就行了,考虑多了反而没啥用 --------------------编程问答-------------------- 一个servlet实例对象也能调用两个不同的doGet方法啊 --------------------编程问答-------------------- 一个servlet实例对象也不能调用两个不同的doGet方法啊 刚打错 --------------------编程问答-------------------- 按照工厂模式的话,应该是针对不同的servlet产生了不同的实例对象,那应该是多个才对啊--------------------编程问答-------------------- 在请求的时候只被实例化过一次.共享一个servlet实例相当于
if(servletTest==null){
servletTest=new SevletTest();
} --------------------编程问答-------------------- 首先servlet容器只有一个吧,得到请求的servlet让后这个servelt有没被实例化过,如果实例化过就直接访问对应的doget或是doPost方法,没有则实例化,永远都是单例 --------------------编程问答-------------------- 如果想调用另个servlet的doget方法怎么办 --------------------编程问答-------------------- 按照工厂模式的话,应该是针对不同的servlet产生了不同的实例对象,那应该是多个对象才对啊 --------------------编程问答-------------------- 两个不同的servlet类被调用的时候就是两个不同的servlet对象,但这两个对立servlet对象永远只有一个,相对于不同servlet类来说是两个对象,相对于具体中单个类只有一个实例对象:
if(servletTest1==null){
servletTest1=new SevletTest1();
}
if(servletTest2==null){
servletTest2=new SevletTest2();
}
SevletTest1,servletTest2是两个对象,但其他任何调用SevletTest1类中方法的时候永远只有一个实例对象servletTest1,SevletTest2类中方法的时候永远只有一个实例对象servletTest2,明白了吗 --------------------编程问答-------------------- 就是单例模式啊
补充:Java , Web 开发