易截截图软件、单文件、免安装、纯绿色、仅160KB

统计JAVA网站访问次数并获得访问者IP的方法


简言之,如果不用第三方提供的接口
那最好的解决方案应该是当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.set


相关文档:

java面试题集

一、Java基础知识
1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。
2.字符串的操作:
  写一个方法,实现字符串的反转,如:输入abc,输出cba
  写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。
3.数据类型之间的转换
  如何将数值型字符转换为数字(Intege ......

经典的农夫养牛问题(Java实现)

问题描述:一个农夫养了一头牛,三年后,这头牛每年会生出1头牛,生出来的牛三年后,又可以每年生出一头牛……问农夫10年后有多少头牛?n年呢?(用JAVA实现)
问题解析:
1)在这个问题中,要注意每头牛生产的时间:
     第一头牛三年后才会生出一头新的牛(注意是三年后,而不是第三 ......

java环境变量配置

(1)Ctrl+M --切换窗口的大小
(2)Ctrl+Q --跳到最后一次的编辑处
(3)F2        --当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标移开时Tooltip还会显示即Show Tooltip Description。
          F3   ......

Java 多线程

1. 创建线程(继承Thread和实现runnable接口) class SubThread {
private class InnerThread extends Thread {
@Override
public void run() {
System.out.println(Thread.currentThread().getName());
super.run();
}
}
public Thread getThread() {
return new InnerThread();
}
}
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号