如图,在m=3后刷新,输出的不是m=4而是m=1!这是为什么?
JSP文件的源代码如下:<%! int m=0; %><% m++; %>m = <%=m%><hr><%= new java.util.Date()%>
而且并不一定是m=3后刷新就重置m变量的值,试了很多次,好像是在10以内随机出现,过了10就没出现过了。这个问题好奇怪啊,想了N久也不知道为什么,各位老大能给讲讲吗?

解决方案 »

  1.   

    <%! int m=0; %>这句等于声明了一个全局变量。我用IE试过有两次出现了,其他时候没有出现。可能是有个线程又执行了这一句。
    用firefox,试了10几次都没有出现过,IE有可疑……
      

  2.   

    如此说来,是IE浏览器有BUG?
      

  3.   

    不是bug,因为只创建一个JSP对象~~~~~.你弄成属性就不好了.
      

  4.   

    不信你可以在JSP里System.out.println(this);打开两个浏览器看看后台打印是不是同一地址值
      

  5.   

    我在我的电脑是测试没有问题.一直递增的呀.TOmcat5.5,IE7
      

  6.   


    我也是tomcat5.5,不过是IE6,难道真是IE的问题?
      

  7.   

    我是tomcat6.0,IE6  一切正常
      

  8.   

    我试过JBOSS,IE7没有问题啊,应该是你的页面缓存啊
      

  9.   


    你看图片,怎么可能会是页面缓存问题呢?我用tomcat5.5+IE7还是同样有问题。我把我这个JSP文件弄出来,大家直接用我这个JSP看看还有没有问题?
    http://d.99081.com/gthboy/sf.rar
      

  10.   

    非程序问题! 系统问题,偶尔来点bug很正常的
      

  11.   


    请仔细观察下,我发现tomcat启动后第一次访问的时候经常出现两次1,然后才递增的。如果把tomcat的work姆鲁里相关的servlet缓存文件删除,再访问的话观察问题会很明显。
      

  12.   

    不是bug,估计也不是页面缓存的问题,应该是jvm的问题,产生不止一个jsp对象的缘故