资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

java访问量统计代码 java接口访问次数限制

java如何统计session访问次数

1,Session

创新互联建站成立于2013年,先为康平等服务建站,康平等地企业,进行企业商务咨询服务。为康平企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

在JavaWeb中使用HttpSession(以下简称session)对象来表示一个会话。

正在装载数据…… Session的创建(代表会话周期的开始):第一次调用request.getSession()方法时,会创建一个session对象。

Session的销毁(代表会话周期的结束):在某个请求周期内调用了Session.invalidate()方法,此请求周期结束后,session被销毁;或者是session超时后自动销毁。

对于JSP,如果指定了%@ page session="false"%,则在JSP中无法直接访问内置的session变量,同时也不会主动创建session,因为此时JSP未自动执行request.getSession()操作获取session。

在session对象刚创建的第一个请求周期内,调用session.isNew()方法将得到true。

可以在web.xml文件中配置session默认的超时时间(分钟):

session-config

session-timeout10session-timeout

session-config

也可以调用session. setMaxInactiveInterval()方法设置session超时时间(分钟)

2,SessionListener

通过SessionListenr可以监听session的创建和销毁,步骤:

1.写一个类MySessionListener,实现javax.servlet.http.HttpSessionListener接口及其sessionCreated()、sessionDestroyed()方法

2.在web.xml中配置SessionListener:

listener

listener-classMySessionListener类全名listener-class

listener

当 session被创建和销毁时,容器会分别调用SessionListener的sessionCreated()方法和 sessionDestroyed()方法,这两个方法中传入了一个参数对象HttpSessionEvent,可以通过此对象的 getSession()方法获取session对象

网站访问量统计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如何统计网站访问量?

步骤一、建一个表,表名任意,这里取名为: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_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:获得访问人数");

}

}

//加载总访问量

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 和mysql语句实现 。 谢谢!

大约要三张表

A表(地区名):

地区代码 地区名 总访问次数

1 广东省 0

2 江苏省 0

...

B表(日访问表)

地区代码 访问时间 日访问次数

1 20131224 0

8 20131224 0

C表(ip来源表)

序号 来访IP 地区代码 时间

处理流程基本上就是

1、先取用户ip,从ip库中查询出用户地区(这种代码随处可以找到,比如)一般就是纯真ip库,有了地区后,从A表中查出地区代码

2、向C表中添加记录

3、然后查一下B表有没有当日该地区记录,如果没有就在B表中新增一条,如果有就将B表对应的次数加1,然后A表中对应地区代码次数统计也加1

然后比如你要查2013年12月24日的各地区统计就可以是

select * from a,b where a.地区代码=b.地区代码 and b.访问时间=20131224


分享名称:java访问量统计代码 java接口访问次数限制
当前地址:http://cdkjz.cn/article/dddoiep.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220