百思不得其解的莫名其妙问题:JSP页面里声明的变量为什么不符合程序的运算结果?

gthboy 2009-03-27 03:54:53



如图,在m=3后刷新,输出的不是m=4而是m=1!这是为什么?
JSP文件的源代码如下:

<%! int m=0; %>

<% m++; %>

m = <%=m%>

<hr>

<%= new java.util.Date()%>


而且并不一定是m=3后刷新就重置m变量的值,试了很多次,好像是在10以内随机出现,过了10就没出现过了。这个问题好奇怪啊,想了N久也不知道为什么,各位老大能给讲讲吗?
...全文
149 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangkaixin1226 2009-05-16
  • 打赏
  • 举报
回复
不是bug,估计也不是页面缓存的问题,应该是jvm的问题,产生不止一个jsp对象的缘故
dadi5566 2009-05-16
  • 打赏
  • 举报
回复
应该是页面缓存的问题
second_dream 2009-05-16
  • 打赏
  • 举报
回复
看来是没人愿意看这种小问题啊
gthboy 2009-04-12
  • 打赏
  • 举报
回复
郁闷~~~~
gthboy 2009-04-09
  • 打赏
  • 举报
回复
顶顶阿~~
second_dream 2009-03-31
  • 打赏
  • 举报
回复
知道的老大来说一说阿,学习学习
gthboy 2009-03-30
  • 打赏
  • 举报
回复
究竟什么原因呢?
gthboy 2009-03-30
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 zhoushijin5201314 的回复:]
我试过JBOSS,IE7没有问题啊,应该是你的页面缓存啊
[/Quote]

IE缓存问题能这样?可以自动把变量重置?
gthboy 2009-03-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 AWUSOFT 的回复:]
我在我的电脑是测试没有问题.一直递增的呀.TOmcat5.5,IE7
[/Quote]

请仔细观察下,我发现tomcat启动后第一次访问的时候经常出现两次1,然后才递增的。

如果把tomcat的work姆鲁里相关的servlet缓存文件删除,再访问的话观察问题会很明显。
adown 2009-03-30
  • 打赏
  • 举报
回复
非程序问题! 系统问题,偶尔来点bug很正常的
feixiangclf 2009-03-30
  • 打赏
  • 举报
回复
很有可能是ie的缓存问题.
gthboy 2009-03-30
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 zhoushijin5201314 的回复:]
我试过JBOSS,IE7没有问题啊,应该是你的页面缓存啊
[/Quote]

你看图片,怎么可能会是页面缓存问题呢?

我用tomcat5.5+IE7还是同样有问题。

我把我这个JSP文件弄出来,大家直接用我这个JSP看看还有没有问题?
http://d.99081.com/gthboy/sf.rar
zhoushijin5201314 2009-03-30
  • 打赏
  • 举报
回复
我试过JBOSS,IE7没有问题啊,应该是你的页面缓存啊
jinchun1234 2009-03-30
  • 打赏
  • 举报
回复
我是tomcat6.0,IE6 一切正常
gthboy 2009-03-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 AWUSOFT 的回复:]
我在我的电脑是测试没有问题.一直递增的呀.TOmcat5.5,IE7
[/Quote]

我也是tomcat5.5,不过是IE6,难道真是IE的问题?
awusoft 2009-03-30
  • 打赏
  • 举报
回复
我在我的电脑是测试没有问题.一直递增的呀.TOmcat5.5,IE7
hangshangit 2009-03-29
  • 打赏
  • 举报
回复
顶5楼
gthboy 2009-03-29
  • 打赏
  • 举报
回复
楼上老大说说呗!
gthboy 2009-03-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 AWUSOFT 的回复:]
不是bug,因为只创建一个JSP对象~~~~~.你弄成属性就不好了.
[/Quote]

弄成属性就不好了是什么意思?

我还是没有明白为什么它会随机地改变一次这个全局变量,而不是一直递增。谁能解释一下原因和解决办法?
awusoft 2009-03-27
  • 打赏
  • 举报
回复
不信你可以在JSP里System.out.println(this);打开两个浏览器看看后台打印是不是同一地址值
加载更多回复(5)

81,076

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧