问题描述
jsp被多次访问是否只有一个实例?测试下来好怪有谁能解释一下?测试前请先把apache-tomcat-6.0.18work下的文件删除测试例子<%!publicinta=0;%><%out.println(a++);out.println(",");out.println(Integer.toHexString(this.hashCode()));%>第一次输出0,1a201ec第二次输出0,1a342bf第三次输出1,1a342bf。。第N次输出N-2,1a342bf
解决方案
解决方案二:
不是只有一个实例,这个也没有实际测试过,不过从你的测试结果来看,可能是放在一个对想池中,可能根据并发的需要创建对象,如果一直没有并发可能一直就一个对象,如果有并发则再创建对象,创建的对象放在对象池中。这是根据你的测试结果来分析的,不过可能不同的webserver效果也不一定一样。可以看看tomcat的源码看看。
解决方案三:
我知道servlet是单例的在启动或者第一次被访问的时候创建一个实例
解决方案四:
是一样的,tomcat7
解决方案五:
第一次访问jsp时实例化一个实例,放在内存池里,客户端每次访问运行一次该实例
解决方案六:
就不知道为啥会出现上面的测试结果呢?
时间: 2024-10-22 09:47:22