當前位置:首頁 » 編程語言 » java訪問統計

java訪問統計

發布時間: 2022-06-06 07:29:28

java web開發 如何統計正在訪問JSP頁面的人數總和

用session 來統計!!!

㈡ java如何統計網站訪問量

步驟一、建一個表,表名任意,這里取名為:visitorcounter,表的結構如下所示:
+-------+------------------+------+-----+------------+----------------+
| 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,類的內容如下:
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_num<1)
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:獲得訪問人數");
}
}
//載入總訪問量
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:獲得訪問人數");
}
}
//增加總的訪問量
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:增加訪問人數");
}
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:增加訪問人數");
}
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;
}
}
步驟三、經過以上的步驟後,在頁面中加入以下的代碼,就可以實現網站訪問量的統計工作:
if(session.isNew())
{
VisitorCounter.incTodayCounter();
}
%>
今日訪問量:<%=VisitorCounter.getTodayNum() %><br/>
總的訪問量: <%=VisitorCounter.getTotalNum() %>

㈢ java 如何根據ip 地址統計訪客的訪問的次數

首先說下你可以不用去寫代碼實現方法如下
1.
新建一網路統計賬號,讓後新建項目的時候將訪問地址放入(具體可以網路)
2.
將統計代碼放入到首頁html文件中,網路上有說明
3.
如果有其它需要統計的可以寫統計代碼放入到相應事件觸發位置
4.
描述可能不太詳細,方法思路如上

㈣ 網站訪問量統計java代碼

public class Counter {

private int count;

// 每訪問一次,計數器自加一
public int getCount() {
return ++count;
}

public void setCount(int count) {
this.count = count;
}

}
<%-- 定義一個 session 范圍內的計數器 記錄個人訪問信息 --%>
<jsp:useBean id="personCount" class="com.helloweenvsfei.jspweb.bean.Counter" scope="session" />

<%-- 定義一個 application 范圍內的計數器 記錄所有人的訪問信息 --%>
<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>計數器</legend>
<table align="center" width="400">
<tr>
<td width=150 align="right" style="font-weight:bold; ">您的訪問次數:</td>
<td>
<%-- 獲取個人的 訪問次數 --%>
<jsp:getProperty name="personCount" property="count" /> 次
</td>
</tr>
<tr>
<td width=150 align="right" style="font-weight:bold; ">總共的訪問次數:</td>
<td>
<%-- 獲取所有人的 訪問次數 --%>
<jsp:getProperty name="totalCount" property="count" /> 次
</td>
</tr>
</table>
</fieldset>
</form>
</div>
希望你能幫到你

㈤ java統計瀏覽器訪問量

用js的Onbeforeunload,在關閉瀏覽器前用ajax向後台傳遞

㈥ java怎樣統計移動端訪問量

建立一個requestListener 有請求的時候就把請求連帶用戶ip信息存入資料庫中(
時間判定,相同則不存,未發現相同則存入資料庫
)
追問
這樣是不是有點影響訪問速度,而且如果是並發訪問會不會出問題?

回答
總得用資料庫記錄用戶請求吧
用sessionListener好多了
先都存入臨時表,再定時轉到訪問記錄表就行,這個要靠觸發器判斷差異,這樣資料庫內部操作速度快。

㈦ java如何統計session訪問次數

當SESSION建立時sessionCreated(),在訪問總數和當前在線人數上+1

當SESSION銷毀時sessionDistroyed(),在線人數-1

核心方法是利用Listener監聽的各種介面

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.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-->ServletContext 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中配置:

<listener>

<listener-class>com.eaie.system.SessionListener</listener-class>

</listener>

㈧ java如何統計瀏覽一個頁面的次數

可以把一個變數設置在session范圍內,每次一個
用戶登錄
的時候就會自動加
1,達到統計頁面的次數的效果

熱點內容
sm3雜湊演算法 發布:2025-02-08 20:55:00 瀏覽:285
抽獎源碼帶後台 發布:2025-02-08 20:33:54 瀏覽:225
歐博中央空調原始密碼是多少 發布:2025-02-08 20:33:47 瀏覽:335
運動使人快樂緩解壓力 發布:2025-02-08 20:27:01 瀏覽:98
linux命令大文件 發布:2025-02-08 20:25:06 瀏覽:897
C蟻群演算法 發布:2025-02-08 20:21:25 瀏覽:513
私人搭建伺服器能幹嘛 發布:2025-02-08 20:21:24 瀏覽:596
網吧怎麼通過伺服器玩網路游戲 發布:2025-02-08 19:59:52 瀏覽:914
文檔編輯加密 發布:2025-02-08 19:56:31 瀏覽:393
phpmysql存儲過程實例 發布:2025-02-08 19:54:40 瀏覽:162