谁能给我解释下网站访问量为什么IE浏览器下双倍加
而火狐下是正确的
我的servlet里代码是:
else if(action.equals("Count"))
{
Count count=new Count();
int btcount=count.SelectCount();
System.out.println("btcount="+btcount);
int btcount1=btcount+1;
System.out.println("btcount1="+btcount1);
count.UpdateCount1(btcount1);
int btcount2=count.SelectCount();
System.out.println("btcount2="+btcount2);
    request.getSession().setAttribute("btcount2",btcount2);

}
用IE浏览器 控制台输出:
btcount=93
btcount1=94
btcount2=94
btcount=94
btcount1=95
btcount2=95用火狐浏览器 控制台输出:
btcount=93
btcount1=94
btcount2=94

解决方案 »

  1.   

    进行操作的时候浏览器请求了两次 可能是由于页面标签 多次提交等造成的功能如果只是简单的一次+1,可以直接在sql里面字段 +1 就好,上面只有一次更改数据库,查这么几次就不必了-------------------------------------
    不行  debug!
      

  2.   

    1.用httpWatch工具抓一下请求报文,看看是否请求了两次。
    2.是否js提交和submit按钮提交都触发了,如果是,则有两次了,删除一个即可。
      

  3.   


    就调用了一次:
    <jsp:include page="../servlet/YhxxServlet?action=Count"></jsp:include>
      

  4.   

    <jsp:include>标签应该是服务器端进行解释的吧...这么说的话更加应该和浏览器无关系了.
    要么是你上一个页面进来的时候有问题?
      

  5.   

    你的is,else条件代码多贴一些,怀疑是IE满足俩次条件,就执行俩次了的
      

  6.   

    Quote: 引用 9 楼 supphia 的回复:

    你的is,else条件代码多贴一些,怀疑是IE满足俩次条件,就执行俩次了的[/quot]
    你说的哪个is else 我的action没有重复的,
    这是方法:更新和查询~~
    public void UpdateCount1(int btcount)
    {
    sql = "update webcounter set btcount=?";
    try
    {
    dbconn =  new DBConn();
    conn = dbconn.getDataSource().getConnection();
    pstmt = conn.prepareStatement(sql);
    pstmt.setInt(1, btcount);
    pstmt.executeUpdate();
    }
    catch(Exception e)
    {
    logger.error("UpdateCount()方法出错:"+e.getMessage());
    e.printStackTrace();
    }
    finally
    {
    dbconn.closePreparedStatement(pstmt);
    dbconn.closeConnection(conn);
    }
    }
    /****************************************************************
     ** 函 数 名:SelectCount
     ** 功能描述:查询网站访问量
     ** 输入参数:无
     ** 输出参数:无 
     ** 返 回 值:int
     ** 创 建 人:
     ** 日    期:
     ** 修 改 人: 
     ** 日    期:
     ****************************************************************/
    public int SelectCount()
    {
    int btcount = 0 ;
    sql = "select btcount as btcount  from webcounter";
    try
    {
    dbconn =  new DBConn();
    conn = dbconn.getDataSource().getConnection();
    pstmt = conn.prepareStatement(sql);
    rs = pstmt.executeQuery();
    while(rs.next())
    {
    btcount = rs.getInt("btcount");
    }
    }
    catch(Exception e)
    {
    logger.error("SelectCount()方法出错:"+e.getMessage());
    e.printStackTrace();
    }
    finally
    {
    dbconn.closeResultSet(rs);
    dbconn.closePreparedStatement(pstmt);
    dbconn.closeConnection(conn);
    }
    return btcount;
    }
      

  7.   

    找到原因了 ,,但是现在都没弄懂,跟页面上的图片路径有关,
    我的页面是foreach图片list,但第一张图片路径是空的,就请求2次,路径随便写个什么都是1次!
    这是IE6的bug吧~~~