html页面的访问计数,ajax实现的html页面站点计数器

/p>

HTML 4.0 Transitional//EN">

ajax实现的HTML静态页面站点计数器

本站访问统计为

id="siteCount">

function sendMyGetAction(){

var url = "account.jsp?sid="+Math.random()

sendGetAction(url,stateChange);

}

function stateChange(){

if (xmlHttp.readyState==4)

{

document.getElementByIdx("siteCount").innerHTML=xmlHttp.responseText;

};

}

setTimeout(sendMyGetAction,100);

#account.jsp

contentType="text/html;charset=gb2312"%>

/**

author tianbao

added 2007-03-12

**/

static long site_count = 0;//站点计数器

static long s_count = 0;//计数累计器

static boolean hasReadFile =

false;//计数器文件没有没被读取

public synchronized void init(String

filepath){

//初始化信息

//当计数器文件没有被找到时,新建一个

try{

File file = new File(filepath);

if(!file.exists()){

file.createNewFile();

}

}catch(Exception e){

System.out.println("计数器文件创建失败"+e);

}

FileReader fr= null ;

BufferedReader br= null;

try{

fr= new FileReader(filepath);

br= new BufferedReader(fr);

String line = br.readLine();

site_count = Long.parseLong(line);//从文件中读取计数初始化计数器变量

}catch(Exception e){

}finally{

try{

if(br != null)

br.close();

if(fr != null)

fr.close();

}catch(Exception e){}

}

hasReadFile = true;//不需要再初始化了

}

public synchronized long

getSiteCount(String filepath){

//第一次调用时,初始化计数器

if(!hasReadFile){

init(filepath);

}

s_count ++;//计数累加

site_count++;//计数器进行累加

if(s_count>=10){

//如果累计器满10

//则要将站点计数器保存

FileWriter fw = null;

BufferedWriter bw = null;

try{

fw = new FileWriter(filepath);

bw = new BufferedWriter(fw);

bw.write(site_count+"");//保存计数器

bw.flush();

s_count = 0;//初始化累加器

}catch(Exception e){

}finally{

try{

if(bw != null)

bw.close();

if(fw != null)

fw.close();

}catch(Exception e){}

}

}

return site_count;

}%>

String filepath =

request.getRealPath("/")+"account.txt";

out.println(getSiteCount(filepath));

%>

#ajaxaction.js

//定义全局的xml对象

var xmlHttp = null;

function GetXmlHttpObject()

{

var xmlHttp=null;

try

{

// Firefox,

Opera 8.0+, Safari

xmlHttp=new

XMLHttpRequest();

}

catch (e)

{

// Internet

Explorer

try

{

xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

}

catch

(e)

{

xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

}

}

if(xmlHttp == null)

alert("对不起,您的浏览器不支持Ajax");

return xmlHttp;

}

function

sendGetAction(url,myStateChanged){

//get传送

if (xmlHttp==null)

{

xmlHttp=GetXmlHttpObject();

}

//指定响应函数

xmlHttp.onreadystatechange=myStateChanged;

xmlHttp.open("GET",url,true);

xmlHttp.send(null);

}

function getQuery(form){

//将表单元数拼成Query条件

queryString="";

var

numberElements = form.elements.length;

for(var i =

0; i < numberElements; i++) {

if(i < numberElements-1) {

queryString += form.elements[i].name+"="+

encodeURI(encodeURI(form.elements[i].value))+"&";

} else {

queryString += form.elements[i].name+"="+

encodeURI(encodeURI(form.elements[i].value));

}

}

return queryString;

}

function

sendGetForm(form,myStateChanged){

//表单GET提交

var queryString = getQuery(form);

var url = form.action;

url =

url+"?"+queryString+"&sid="+Math.random();

sendGetAction(url,myStateChanged);

}

function

sendPostAction(url,strQuery,myStateChanged){

//post传送

if

(xmlHttp==null)

{

xmlHttp=GetXmlHttpObject();

}

xmlHttp.open("POST",url,true);

xmlHttp.onreadystatechange=myStateChanged;

xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

xmlHttp.send(strQuery);//发送请求

};

function

sendPostForm(form,myStateChanged){

//表单post提交

var queryString = getQuery(form);

var url = form.action;

sendPostAction(url,queryString,myStateChanged);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值