建体彩网|中彩网双色球连号|
?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

新蒲京澳門賭場網站:如何統計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.servl新蒲京澳門賭場網站et.RequestDispatcher;

import javax.servlet.Servlet;

import javax.servlet.ServletContext;

import javax.servlet.ServletContextEvent;

i新蒲京澳門賭場網站mport 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 HttpSessionActiv新蒲京澳門賭場網站ationListener,

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("+sessio新蒲京澳門賭場網站n.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-->Ser新蒲京澳門賭場網站vletContext is initialized");

}

public int getUserOnline(){

return this.onLineUserNum;

}

public void log(String message) {

PrintWriter out = null;

try{

out = new PrintWriter(new FileOutputStream("c:\\eaieLogger.txt",true));

out.println(new java.util.Date().toLocaleString()+"::From SessionListener:"+message);

out.println("Totle visit number:"+this.visitNum+" and current online num: "+onLineUserNum);

out.println("=================================");

out.close();

}catch(Exception e){

e.printStackTrace();

out.close();

}

}

public void requestInitialized(ServletRequestEvent event) {

request = (HttpServletRequest)event.getServletRequest();

}

//省略其他措施

}

這個法度榜樣必要在web.xml中設置設置設備擺設擺設:

com.eaie.system.SessionListener

必要留意的是LISTENR的位置,必須在的相關設置設置設備擺設擺設之后,在的相關設置設置設備擺設擺設之前

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

建体彩网
贵州11选5推荐号r6 山西快乐10分前三走势 内蒙古十一选五走势图一定牛 bbin真人游戏 十一运夺金遗漏数据360彩票 6号彩票苹果 多乐彩11选5走势图 斯诺克英锦赛2018比分 浙江快乐12前三组遗漏 银河棋牌登录网址