专注高端网站建设!

公司分布:济南槐荫/滨州邹平/烟台芝罘

1对1的贴心服务 13405436529

新闻动态

  • 滨州邹平软件开发告诉你如何统计JAVA网站访问次数并获得访问者IP

  • 建站知识 文章更新 2011-4-4 23:14:51   

    点击:


    网站数据分析中就有一项是查看网站访问数目的,一般网站都会使用第三方统计软件的,其实,滨州邹平软件开发的工程师说,如果不用第三方提供的接口,那最好的解决方案应该是当SESSION建立时sessionCreated(),在访问总数和当前在线人数上+1
  当SESSION销毁时sessionDistroyed(),在线人数-1
  核心方法是利用Listener监听的各种接口
  我把代码(主要部分)贴在下面
  此段代码我亲自使用过,没有问题
  但因为继承了接口,有些未使用的方法也要补充进去,具体方式比如在MyEclipse中可以靠点错误,ADD UNIMPLEMENTED METHOD实现
  package com.eaie.system;
  import java.io.FileOutputStream;
  import java.io.InputStream;
  import java.io.PrintWriter;
  import java.net.MalformedURLException;
  import java.net.URL;
  import java.util.Enumeration;
  import java.util.Set;
  import javax.servlet.RequestDispatcher;
  import javax.servlet.Servlet;
  import javax.servlet.ServletContext;
  import javax.servlet.ServletContextEvent;
  import javax.servlet.ServletException;
  import javax.servlet.ServletRequestEvent;
  import javax.servlet.ServletRequestListener;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpSessionActivationListener;
  import javax.servlet.http.HttpSessionEvent;
  import javax.servlet.http.HttpSessionListener;
  public class SessionListener implements HttpSessionActivationListener,
  HttpSessionListener, ServletContext, ServletRequestListener {
  ServletContext context;
  int onLineUserNum = 0;
  int visitNum = 0;
  HttpServletRequest request;
  public void sessionDidActivate(HttpSessionEvent session) {
  log("seesionDidActive("+session.getSession().getId()+")");
  }
  public void sessionWillPassivate(HttpSessionEvent session) {
  log("seesionWillPassivate("+session.getSession().getId()+")");
  }
  public void sessionCreated(HttpSessionEvent event) {
  onLineUserNum++;
  visitNum ++;
  String ip = request.getRemoteAddr();
  log("sessionCreated('"+event.getSession().getId()+"'),-->IP:"+ip);
  context.setAttribute("onLineUserNum", new Integer(onLineUserNum));
  context.setAttribute("visitNum", new Integer(visitNum));
  }
  public void sessionDestroyed(HttpSessionEvent event) {
  if (onLineUserNum>0){
  onLineUserNum--;
  }
  String ip = request.getRemoteAddr();
  log("sessionDestroyed('"+event.getSession().getId()+"'),-->IP:"+ip);
  context.setAttribute("onLineUserNum", new Integer(onLineUserNum));
  }
  public void contextDestroyed(ServletContextEvent sce){
  log("contextDestroyed-->ServletContext is destroyed");
  this.context = null;
  }
  public void contextInitialized(ServletContextEvent sce){
  this.context = sce.getServletContext();
  log("contextDestroyed-->ServletContext is initialized");
  }
  public int getUserOnline(){
  return this.onLineUserNum;
  }
  public void log(String message) {
  PrintWriter out = null;

第 1 2 页

http://www.gongyingwl.com/

山东共赢网络科技有限公司是一家专注高端网站建设开发的技术型网络公司,以领先的设计水平和技术实力,打造行业品牌、树立卓睿形象。公司专注公司网站建设,邹平网站设计,做网站公司,网站设计公司,网站制作公司,网站建设公司,邹平网站制作,邹平网站建设。http://www.gongyingwl.com/

全部新闻    

联系共赢邹平网站制作

邹平网站制作   地址1:滨州市邹平县山南新区新邹时代广场
地址2:烟台市莱山区万泰麓溪公馆13-B (观海路鹿鸣北区对面)
邹平网站制作   13405436529
邹平网站制作   24小时服务:13405436529
  邹平网站制作
Copyright 2004 - 2018 邹平网站制作_网站制作公司_邹平网站制作公司_做网站公司_邹平网站设计_网站设计公司_邹平网站设计公司_邹平网站建设_网站建设公司_公司网站建设_邹平网站建设公司_邹平共赢网络科技有限公司 All Right Reserved. 鲁ICP备11043023号 邹平市市场监督管理局企业主体身份公示
回到顶部