您现在的位置: J2ME开发网 >> Java技术 >> J2ME开发 >> WAP与XML >> 文章正文
重复刷新页面导致网络繁忙出错的解决办法
作者:目木    文章来源:本站原创    点击数:    更新时间:2005-5-16
最近在做一个21点游戏时,发现经常会引起503错误,经过不段设计,终于发现了问题的所在.

在要调试的页面game21.jsp头部加上一条输出语句,用于调试System.out.println("调试信息--------------");
继续要牌 

一.进入游戏后

控制台输入出信息:调试信息--------------     页面正常
二,点击继续要牌
 
url地址:http://localhost:8080/wap/fee/game21.jsp?uId=13312345678&t=0&ante=1&p=2
p=2为表示继续要牌
 
控制台输入出信息:调试信息--------------     页面正常
 
三,点击继续要牌
 
 
 
url地址:http://localhost:8080/wap/fee/game21.jsp?uId=13312345678&t=0&ante=1&p=2
控制台输入出信息:
调试信息--------------
调试信息--------------
调试信息--------------
调试信息--------------
调试信息--------------
调试信息--------------
调试信息--------------
页面出现错误

分析:
 为什么第一次点继续要牌的时候,页面能正常,第二次就会出现不停的刷新页面?通过url地址的观察,
发现第一步进来 的时候与第一次点继续要牌,url的内容不同,而两次重新要牌的时候,url内容相同,
所以造成这个问题的原因当url相同时,页面从浏览器的缓冲中读取信息,但如果把页面的缓冲时间设置过长,用户再要牌的时候会要不到,要等过了缓冲时间,因此不能通过缓冲时间来实现。
应该让浏览器识别这个页面是一个新页面,从而从服务器重新取。通过在页面参数中参加一个随时变化的参数,浏览器识别为未请求过的页面,所以重新从服务器得到,问题得解决。

在页面中加一条得到时间的变量 String time = Long.toString(System.currentTimeMillis());

同样的操作
继续要牌

一.进入游戏后

 
控制台输入出信息:调试信息--------------     页面正常
 
二,点击继续要牌
 
控制台输入出信息:调试信息--------------     页面正常
三,点击继续要牌
 
控制台输入出信息:调试信息--------------     页面正常
 
 
以上是上Openwave SDK 5.1调试出现问题我解决的