有关用!声明的变量一个奇怪的问题
请教一下大家,下面一段最简单的jsp代码:
test.jsp
<%@ page contentType="text/html;charset=GBK" %>
<%!int i=0; %>
<%
i++;
out.print(i);
%>
个人访问本站。
该页面主要是说明用!声明的变量是整个JSP页面的全局变量,但我在实际试验时,发现打开一个浏览器第一次访问该页面,出现“1个人访问本站”后,再打开另一浏览器,同样访问该页面,竟然还是出现“1个人访问本站”,也就是i没有更新,但这时我刷新一下页面,页面出现“2个人访问本站”,之后两个浏览器轮流刷新,i可以轮流加1,这与预料一致。可问题是,为何当i为一时,第二个浏览器第一次访问却没有及时更新,这个问题,我已经在几架Tomcat的服务器上试了,问题都一样。
我甚至后来改了isTreadsafe="false",让它单线程运行,还是一样,就是从1递增到2时,有问题。如果用同一个浏览器,也可以发现,i=1时,再刷新一次,还是1,然后再刷新一下,才变2,奇怪,奇怪
请大家给解答一下,谢谢!