成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

java統(tǒng)計訪問量代碼 javaweb統(tǒng)計在線人數(shù)和訪問量

網(wǎng)站訪問量統(tǒng)計java代碼怎樣寫?

DIV class="h"

成都創(chuàng)新互聯(lián)公司成立與2013年,先為珠暉等服務(wù)建站,珠暉等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為珠暉企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

%-- 記錄網(wǎng)站訪問次數(shù) --%

%

Integer counter = (Integer)application.getAttribute("counter"); //先從application里面獲取計數(shù)器的key的值

if(counter==null){

//如果該值為null,說明第一次吵胡訪問

application.setAttribute("counter",1);

counter=(Integer)application.getAttribute("counter");

}else {

//如果該值不為空,取出來進(jìn)行累加

int i = counter.intValue();

i++;

application.setAttribute("counter",i);//累加后再放進(jìn)去

}

%

% User user =(User)session.getAttribute("users"); %

%="歡迎"+user.getName() % |您是第%=counter.intValue()%位訪客謹(jǐn)碰神

祥虧/DIV

謝謝~

高手請進(jìn)??!java統(tǒng)計網(wǎng)站的訪問量和在線人數(shù)的問題,有知道的直接發(fā)一個簡單的例子我,多謝啦!

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

步驟一、建一個舉游表,表名任意,這里取名為:visitorcounter,表的結(jié)構(gòu)如下所示:

+-------+------------------+------+-----+------------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-------+------------------+------+-----+------------+----------------+

| id | int(11) unsigned | NO | PRI | NULL | auto_increment |

| vdate | date | NO | | 2000-01-01 | |

| vnum | int(11) | NO | | 0 | |

+-------+------------------+------+-----+------------+----------------+

步驟二、建立一個java類,名字也為:visitorcounter,類的內(nèi)容如下睜敬:

package com.hdzx.pub;

import java.sql.ResultSet;

import java.text.SimpleDateFormat;

import java.util.Date;

public class VisitorCounter {

private final static String TABLE_NAME = "visitorcounter";

private static String today = null;

private static long today_num = 0;

private static long total_num = 0;

//加載訪問量

public static void loadNum(){

if(total_num1)

loadTotalNum();

if(today_num悉答慎1)

loadToadyNum();

}

//加載今日訪問量

private static void loadToadyNum() {

// TODO Auto-generated method stub

DBConnect db = null;

ResultSet rs = null;

if(today==null)

today = getTodayDate();

String sql = "select vnum from "+TABLE_NAME+" where vdate='"+today+"'";

try {

db = new DBConnect();

rs = db.executeQuery(sql);

if(rs.next()){

today_num = rs.getLong("vnum");

}

else

{

sql = "insert into "+TABLE_NAME+"(vdate,vnum) values('"+today+"',0)";

db.executeUpdate(sql);

today_num = 0;

}

} catch (Exception e) {

// TODO: handle exception

today_num = 0;

System.out.println("com.hdzx.pub~VisitorCounter.incTotalCounter:獲得訪問人數(shù)");

}

}

//加載總訪問量

private static void loadTotalNum() {

// TODO Auto-generated method stub

// TODO Auto-generated method stub

DBConnect db = null;

ResultSet rs = null;

if(today==null)

today = getTodayDate();

String sql = "select vnum from "+TABLE_NAME+" where id=1";

try {

db = new DBConnect();

rs = db.executeQuery(sql);

if(rs.next()){

total_num = rs.getLong("vnum");

}

else

{

total_num = 0;

}

} catch (Exception e) {

// TODO: handle exception

total_num = 0;

System.out.println("com.hdzx.pub~VisitorCounter.incTotalCounter:獲得訪問人數(shù)");

}

}

//增加總的訪問量

private static int incTotalCounter(){

int k = 0;

DBConnect db = null;

loadNum();

total_num = total_num+1;

String sql = "update "+TABLE_NAME+" set vnum="+total_num+" where id=1";

try {

db = new DBConnect();

k = db.executeUpdate(sql);

} catch (Exception e) {

// TODO: handle exception

System.out.println("com.hdzx.pub~VisitorCounter.incTotalCounter:增加訪問人數(shù)");

}

return k;

}

//增加今日的訪問量

public static int incTodayCounter(){

int k = 0;

DBConnect db = null;

String sql = null;

loadNum();

today_num += 1;

sql = "update "+TABLE_NAME+" set vnum="+today_num+" where vdate='"+today+"'";

try {

db = new DBConnect();

k = db.executeUpdate(sql);

if(k 0)

incTotalCounter();

} catch (Exception e) {

// TODO: handle exception

System.out.println("com.hdzx.pub~VisitorCounter.incTotalCounter:增加訪問人數(shù)");

}

return k;

}

//獲得今天的日期

private static String getTodayDate(){

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

return sdf.format(new Date());

}

///獲得今日訪問量

public static long getTodayNum(){

loadNum();

return today_num;

}

//獲得總的訪問量

public static long getTotalNum(){

loadNum();

return total_num;

}

}

步驟三、經(jīng)過以上的步驟后,在頁面中加入以下的代碼,就可以實(shí)現(xiàn)網(wǎng)站訪問量的統(tǒng)計工作:

if(session.isNew())

{

VisitorCounter.incTodayCounter();

}

%

今日訪問量:%=VisitorCounter.getTodayNum() %br/

總的訪問量: %=VisitorCounter.getTotalNum() %

分享文章:java統(tǒng)計訪問量代碼 javaweb統(tǒng)計在線人數(shù)和訪問量
瀏覽路徑:http://jinyejixie.com/article2/ddpiooc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站策劃、搜索引擎優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、軟件開發(fā)、面包屑導(dǎo)航

廣告

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

搜索引擎優(yōu)化
荆门市| 镇巴县| 九龙县| 静安区| 屯昌县| 静安区| 吴旗县| 新余市| 曲周县| 那曲县| 谷城县| 三都| 汤阴县| 宁武县| 漳浦县| 子洲县| 辽中县| 北碚区| 潞西市| 徐州市| 卫辉市| 玉门市| 精河县| 汽车| 封丘县| 成都市| 绥宁县| 泸定县| 巧家县| 汨罗市| 新建县| 锡林浩特市| 正阳县| 弥渡县| 富阳市| 甘南县| 和平区| 垣曲县| 青神县| 兴化市| 大悟县|