新聞中心
java如何統(tǒng)計(jì)網(wǎng)站訪問量?
步驟一、建一個表,表名任意,這里取名為:visitorcounter,表的結(jié)構(gòu)如下所示:
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)灞橋免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了超過千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
+-------+------------------+------+-----+------------+----------------+
| 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_num1)
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)計(jì)工作:
if(session.isNew())
{
VisitorCounter.incTodayCounter();
}
%
今日訪問量:%=VisitorCounter.getTodayNum() %br/
總的訪問量: %=VisitorCounter.getTotalNum() %
網(wǎng)站訪問量統(tǒng)計(jì)java代碼?
public class Counter {
private int count;
// 每訪問一次,計(jì)數(shù)器自加一
public int getCount() {
return ++count;
}
public void setCount(int count) {
this.count = count;
}
}
%-- 定義一個 session 范圍內(nèi)的計(jì)數(shù)器 記錄個人訪問信息 --%
jsp:useBean id="personCount" class="com.helloweenvsfei.jspweb.bean.Counter" scope="session" /
%-- 定義一個 application 范圍內(nèi)的計(jì)數(shù)器 記錄所有人的訪問信息 --%
jsp:useBean id="totalCount" class="com.helloweenvsfei.jspweb.bean.Counter" scope="application" /
div align="center"
form action="method.jsp" method="get"
fieldset style='width: 300'
legend計(jì)數(shù)器/legend
table align="center" width="400"
tr
td width=150 align="right" style="font-weight:bold; "您的訪問次數(shù):/td
td
%-- 獲取個人的 訪問次數(shù) --%
jsp:getProperty name="personCount" property="count" / 次
/td
/tr
tr
td width=150 align="right" style="font-weight:bold; "總共的訪問次數(shù):/td
td
%-- 獲取所有人的 訪問次數(shù) --%
jsp:getProperty name="totalCount" property="count" / 次
/td
/tr
/table
/fieldset
/form
/div
希望你能幫到你
java如何實(shí)現(xiàn)監(jiān)控服務(wù)器網(wǎng)絡(luò)流量
你可以在JSP頁面用這三個方法
request.getRemoteAddr()//獲取遠(yuǎn)程IP
request.getRemoteUser()//獲取遠(yuǎn)程用戶
request.getRemoteHost()//獲取遠(yuǎn)程主機(jī)
可以寫方法,請看java.net包下的類.
java.net.InetAddress
java.net.InetSocketAddress
獲取IP,主機(jī)和端口.
網(wǎng)站訪問量統(tǒng)計(jì)java代碼怎樣寫?
DIV class="h"
%-- 記錄網(wǎng)站訪問次數(shù) --%
%
Integer counter = (Integer)application.getAttribute("counter"); //先從application里面獲取計(jì)數(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()%位訪客
/DIV
謝謝~
網(wǎng)站標(biāo)題:java流量統(tǒng)計(jì)代碼 java 流量統(tǒng)計(jì)
分享路徑:http://fisionsoft.com.cn/article/doesjpj.html