免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

java在線人數(shù)統(tǒng)計代碼 Java統(tǒng)計

如何實現(xiàn)java 用戶在線實時統(tǒng)計

您好,這樣:

成都創(chuàng)新互聯(lián)專注于潮南網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供潮南營銷型網(wǎng)站建設(shè),潮南網(wǎng)站制作、潮南網(wǎng)頁設(shè)計、潮南網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造潮南網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供潮南網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

通過SessionListenr可以監(jiān)聽session的創(chuàng)建和銷毀,所以首先要寫一個類MySessionListener,實現(xiàn)javax.servlet.http.HttpSessionListener接口及其sessionCreated()、sessionDestroyed()方法:

import java.util.HashSet;

import javax.servlet.ServletContext;

import javax.servlet.http.HttpSession;

import javax.servlet.http.HttpSessionEvent;

import javax.servlet.http.HttpSessionListener;

public class MySessionListener implements HttpSessionListener {

public void sessionCreated(HttpSessionEvent event) {

HttpSession session = event.getSession();

ServletContext application = session.getServletContext();

// 在application范圍由一個HashSet集保存所有的session

HashSet sessions = (HashSet) application.getAttribute("sessions");

if (sessions == null) {

sessions = new HashSet();

application.setAttribute("sessions", sessions);

}

// 新創(chuàng)建的session均添加到HashSet集中

sessions.add(session);

// 可以在別處從application范圍中取出sessions集合

// 然后使用sessions.size()獲取當(dāng)前活動的session數(shù),即為“在線人數(shù)”

}

public void sessionDestroyed(HttpSessionEvent event) {

HttpSession session = event.getSession();

ServletContext application = session.getServletContext();

HashSet sessions = (HashSet) application.getAttribute("sessions");

// 銷毀的session均從HashSet集中移除

sessions.remove(session);

}

}

然后再在web.xml中分別配置SessionListener和session超時時間(10分鐘):

listener

listener-class全路徑MySessionListener/listener-class

/listener

session-config

session-timeout10/session-timeout

/session-config

最后在Jsp頁面代碼使用以下代碼就可以實現(xiàn)當(dāng)前在線人數(shù)統(tǒng)計輸出:

java在線人數(shù)問題

首先給你講一下,我的理解,人數(shù)統(tǒng)計好說,因為,可已設(shè)置監(jiān)聽器,讓其在服務(wù)器啟動的時候進(jìn)行監(jiān)聽,然后統(tǒng)計登錄人數(shù),但是統(tǒng)計在線人數(shù),就麻煩點了,因為大多數(shù)人都不愿意點擊注銷按鈕,直接關(guān)閉瀏覽器,這樣session的關(guān)閉就麻煩了點,我先給出統(tǒng)計人數(shù)的代碼,我想統(tǒng)計在線人數(shù)可以定時調(diào)用程序來統(tǒng)計,但是不是實時的,所以最大的障礙就是怎么在關(guān)閉瀏覽器的時候,就關(guān)閉session

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Scanner;

import javax.servlet.ServletContext;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

public class ApplicationListener implements ServletContextListener{

public void contextDestroyed(ServletContextEvent arg0) {

ServletContext sc = arg0.getServletContext();

Integer count = (Integer) sc.getAttribute("AccessCount");

try {

PrintWriter out = new PrintWriter(new FileWriter("c:/Users/god/count.txt"));// 將人數(shù)保存到文本文件

System.out.println("count:"+count);

out.print(count);

out.flush();

out.close();

} catch (IOException e) {

e.printStackTrace();

}

}

public void contextInitialized(ServletContextEvent arg0) {

Integer count = 0;

ServletContext sc = arg0.getServletContext();

try {

Scanner in = new Scanner(new FileReader("c:/Users/god/count.txt"));// 讀取已經(jīng)產(chǎn)生的人數(shù)信息,然后進(jìn)行累加

count = in.nextInt();

in.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

}

sc.setAttribute("AccessCount", count);

}

}

在web.xml文件里面進(jìn)行設(shè)置

listener

listener-class

文件的位置也就是包名.ApplicationListener

/listener-class

/listener

統(tǒng)計的時候是設(shè)置攔截器,需要在struts.xml中設(shè)置

import javax.servlet.ServletContext;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionInvocation;

import com.opensymphony.xwork2.interceptor.Interceptor;

@SuppressWarnings("serial")

public class AccessInterceptor implements Interceptor{

private String id;

public void destroy() {

}

public void init() {

}

@SuppressWarnings("unchecked")

public String intercept(ActionInvocation ai) throws Exception {

ServletContext sc = ServletActionContext.getServletContext();

HttpServletRequest request = ServletActionContext.getRequest();

HttpSession session = request.getSession();

if(!session.getId().equals(id)){

Integer count = (Integer) sc.getAttribute("AccessCount");// 判斷如果登錄成功,統(tǒng)計數(shù)字自增

sc.setAttribute("AccessCount", count+1);

id = session.getId();

}

String result = ai.invoke();

return result;

}

}

JAVA如何統(tǒng)計人數(shù)(接著下面的程序?qū)?

在類中聲明一個靜態(tài)變量如下 :

static int num=0 ,每次類初始化將num 加一。

靜態(tài)變量為所有類共享,num的大小即為創(chuàng)建的student對象的數(shù)目

程序稍微改動如下:

class student {

String name;

static int num =0;

String id;

float ywscore;

float sxscore;

float sumscore;

float avgscore;

student(String name,String id,float ywscore,float sxscore){

this.name=name;

this.id=id;

this.ywscore=ywscore;

this.sxscore=sxscore;

num ++;

}

float sum(){

sumscore=sxscore+ywscore;

return sumscore;

}

float avg(){

avgscore=(sxscore+ywscore)/2;

return avgscore;

}

int getNum()

{

return num;

}

void showinfo(){

System.out.println("name: "+name);

System.out.println("id: "+id);

System.out.println("mathscore: "+sxscore);

System.out.println("langue: "+ywscore);

System.out.println("avg: "+avg());

System.out.println("sum: "+sum());

}

};

求一個java代碼:瀏覽器被關(guān)閉時(非正常關(guān)閉)能夠正確的統(tǒng)計在線人數(shù)

正確是做不到,只能是估計,需要你定義一個閥值,估計它的取值,然后與你統(tǒng)計的在線人數(shù)相乘,得到一個近似值即可!~

java 怎樣統(tǒng)計系統(tǒng)當(dāng)前在線人數(shù)

統(tǒng)計在線人數(shù)的方式不同(比如登錄人數(shù)或者頁面訪問人數(shù))具體的實現(xiàn)方式不同,但是記錄統(tǒng)計人數(shù)的方法是一樣的1。定義一個靜態(tài)變量或者在application作用于放置一個變量存放在線人數(shù),如果是登錄人數(shù),則在用戶登錄時+1,如果是頁面訪問人數(shù)就添加一個監(jiān)聽器listener進(jìn)行監(jiān)聽(sessionId) 如果有用戶訪問頁面就+1

網(wǎng)頁題目:java在線人數(shù)統(tǒng)計代碼 Java統(tǒng)計
當(dāng)前路徑:http://m.newbst.com/article46/hihjhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)網(wǎng)站設(shè)計面包屑導(dǎo)航網(wǎng)站設(shè)計公司關(guān)鍵詞優(yōu)化用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)