各位高手,我现在想做一个统计某一网站统计量的功能,请大家指教
需求是:当有一个人登录网站时就把网站访问人数+1,不管他是否登录,只要进了我的网站就+1.他关闭网站不-1.就是说我统计一天到底有多少次访问过这个网站,并且我能够统计出一天的访问量,一周的访问量和一个月的访问量.现在需要大家来说说有没有好的实现办法?
我现在想的解决办法是每次有人访问现在缓存中这个数,然后每次有10人访问后就将数据入库,但是这样的问题是很难保证能够正确统计每天的访问量,大家有没有什么好的建议?或者是比较专业的做法?关于统计网站访问人数的做法

解决方案 »

  1.   

    贴个Javascript  飘过!
    <script. language=JavaScript> <!-- 
    var caution = false 
    function setCookie(name, value, expires, path, domain, secure) { 
    var curCookie = name + "=" + escape(value) + 
    ((expires) ? "; expires=" + expires.toGMTString() : "") + 
    ((path) ? "; path=" + path : "") + 
    ((domain) ? "; domain=" + domain : "") + 
    ((secure) ? "; secure" : "") 
    if (!caution || (name + "=" + escape(value)).length <= 4000) 
    document.cookie = curCookie 
    else 
    if (confirm("Cookie exceeds 4KB and will be cut!")) 
    document.cookie = curCookie 

    function getCookie(name) { 
    var prefix = name + "=" 
    var cookieStartIndex = document.cookie.indexOf(prefix) 
    if (cookieStartIndex == -1) 
    return null 
    var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length) 
    if (cookieEndIndex == -1) 
    cookieEndIndex = document.cookie.length 
    return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex)) 

    function deleteCookie(name, path, domain) { 
    if (getCookie(name)) { 
    document.cookie = name + "=" + 
    ((path) ? "; path=" + path : "") + 
    ((domain) ? "; domain=" + domain : "") + 
    "; expires=Thu, 01-Jan-70 00:00:01 GMT" 


    function fixDate(date) { 
    var base = new Date(0) 
    var skew = base.getTime() 
    if (skew > 0) 
    date.setTime(date.getTime() - skew) 

    var now = new Date() 
    fixDate(now) 
    now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000) 
    var visits = getCookie("counter") 
    if (!visits) 
    visits = 1 
    else 
    visits = parseInt(visits) + 1 
    setCookie("counter", visits, now) 
    document.write("当前访问量为" + visits + "") 
    // --> 
    </script>
      

  2.   

    高手,能不能给我讲讲为什么这种功能不能完全准确?
    还有就是我现在准备用HttpSessionListener这个监听器来计算访问人数,但是现在的问题是在同一个IE中我打开多个页签访问我的网站只能统计一次,就是只能进sessionCreated方法一次,只能是打开不同的IE浏览器时才会进入sessionCreated方法,怎么能够不管开不同浏览器还是打开页签,只要访问我的网站就进一个方法啊?
      

  3.   

    1.用js 实现  但是也不可能是准确的2 . 也可以写个filter 
       在每个页面都加个固定的图片 或者 其他自动访问的资源 在filter中判断所有请求资源中是否有指定资源有 的话计数1  ;