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接口访问次数限制
标题链接:https://www.cdcxhl.com/article48/dddoiep.html

成都网站建设公司_创新互联,为您提供搜索引擎优化网站设计网页设计公司微信小程序品牌网站设计网站排名

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

营销型网站建设