请教:
现在我要实现一个功能
登记一个用户上我公司网站之后总共访问了多少网页(在一次内,如果重新上网重新计算)
要求存入数据库,在后台可以进行检索
怎么实现?最好告诉我一下记录“访问过的网页”的代码或思路

解决方案 »

  1.   

    每一个页面写这段代码
    HttpSession session=httpServletRequest.getSession(true);
    if(!session.getAttribute("text").equals("")&&!session.getAttribute("text")=""){
    int i;
    i=session.getAttribute("text");
    i=i+1;
    }
    else{
    int i=0;
    i=i+1;
    }
    把i的值插入数据库,代表访问了多少页面
    session.setAttribute("text",i);
      

  2.   

    定义一个filter,再定义一个类保存统计结果,如User类,里面可包含一个map
    在filter中检查session中的user
    示意性代码:
    User user = session.getAttribute("user");
    if (user==null)
    {
      user = new User();
      session.setAttribute("user", user);
    }String url = request.getRequestURL().toString();
    Integer count = user.map.get(url);
    if (count==null)
      count = new Integer(1);
    else
      count = new Integer(count.intValue()+1);
    user.map.put(url, count);User可实现HttpSessionBindingListener接口,在valueUnbound方法中保存统计结果
      

  3.   

    这样写比较好
    每一个页面写这段代码
    int i;
    HttpSession session=httpServletRequest.getSession(true);if(!session.getAttribute("text").equals("")&&!session.getAttribute("text")=""){//判断是不是第一次登录,不是
      i=session.getAttribute("text");
    }
    else{//是第一次登录
      i=0;
    }
    i=i+1;
    把i的值插入数据库,代表访问了多少页面
    session.setAttribute("text",i);
      

  4.   

    我现在越来越不清楚数据库该怎么设计了
    因为现在要求
    1、统计访问本网站的用户ip
    2、统计访问本网站的方法(直接输入网址还是通过链接跳转)
    3、统计此ip访问网站的次数
    4、统计访问过的页面以及次数
    5、提供查询页面访问量的大小排序
    我本来是想设计两张数据表
    一张用来保存ip、url跳转页面、次数、访问过的网页
    还有一张表存放每个网页访问的次数(一一对应)
    但是仔细想想还是不怎么可行
    第一、我不知道用户是先访问哪个页面,所以不知道获取用户信息的代码写在什么地方
    第二、表中一个用户“访问过的网页”应该用什么变量,怎样记录他的次数
    总之,还有一大堆的问题哪位高手帮帮我,给我一些思路,真的是不胜感激啊