java访问量用什么统计,java如何统计网站访问量
本篇文章给大家谈谈java访问量用什么统计,以及java如何统计网站访问量对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
java如何统计session访问次数
1,Session
在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-timeout>10session-timeout>
session-config>
也可以调用session. setMaxInactiveInterval()方法设置session超时时间(分钟)
2,SessionListener
通过SessionListenr可以监听session的创建和销毁,步骤:
1.写一个类MySessionListener,实现javax.servlet.http.HttpSessionListener接口及其sessionCreated()、sessionDestroyed()方法
2.在web.xml中配置SessionListener:
<listener>
<listener-class>MySessionListener类全名listener-class>
listener>
当 session被创建和销毁时,容器会分别调用SessionListener的sessionCreated()方法和 sessionDestroyed()方法,这两个方法中传入了一个参数对象HttpSessionEvent,可以通过此对象的 getSession()方法获取session对象
Java统计在线人数,用过滤器好还是拦截器
你好,要想知道哪个好,要说一下两者的区别,拦截器是struts的或者spring mvc框架封装的,过滤器是java ee自身的
过滤器是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法url。主要为了减轻服务器负载。减少压力
拦截器是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法。比如可以用拦截器做一些权限管理或者log之类的事情。
两者作用是不同的。如果单纯的统计,建议还是使用过滤器比较好
希望可以解决你的问题
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访问量用什么统计和java如何统计网站访问量问题对您有所帮助,还望关注下本站哦!