第一种方式(不通过数据库):
//计算网站访问量
Integer counter = (Integer)application.getAttribute("counter"); //先从application里面获取计数器的key的值if(counter==null){
//如果该值为null,说明第一次访问
application.setAttribute("counter",1);
counter=(Integer)application.getAttribute("counter");
}else {
//如果该值不为空,取出来进行累加
int i = counter.intValue();
i++;
application.setAttribute("counter",i);//累加后再放进去
}
String number = String.valueOf(counter.intValue()+10000);//可以加上个基数值,防止清除tomcat缓存数据变0
StringBuffer html = new StringBuffer();
char[] nums = number.toCharArray();
for (int i = 0; i < nums.length; i++) {
html.append("<IMG height=11 src=\"../images/count/" + nums[i] +".GIF\" width=12>");
}
<span id="count"><%=html.toString()%></span>位访客,欢迎您的到来。
第二种方式(通过数据库):
前台:
<span id = "visitSiteNum"> </span>
<script type="text/javascript">
function getSiteRecord() {//计算站点访问量
$.ajax({
async: false,
type: "post",
dataType : "jsonp",
url: "PtlSite.action?fn=setSiteRecord&sid=8E1AF49E6FC43A3AD2751E2F2B2646FE"
});
getSiteRecord1();
}
function getSiteRecord1() {//获取站点访问量
$.ajax({
url:"PtlSite.action",
type:"get",
dataType:'json',
data:{
sid:'8E1AF49E6FC43A3AD2751E2F2B2646FE',
fn:'getSiteRecord'
},
success:function(data){
if(data.result){
$('#visitSiteNum').html(data.siteRecords);
}
}
});
}
getSiteRecord();
</script>
后台:
//记录访问量
else if("setSiteRecord".equals(action)){
String siteId = request.getParameter("sid");
PtlSite ptlSite = manager.doFindBeanByUnid(siteId);
if(ptlSite.getHits()==null||"".equals(ptlSite.getHits())){
ptlSite.setHits("1");
}else{
ptlSite.setHits((Integer.parseInt(ptlSite.getHits())+1)+"");
}
result = manager.doUpdate(ptlSite);
}
//获取访问量
else if("getSiteRecord".equals(fn)){
String siteId = request.getParameter("sid");
PtlSite ptlSite = manager.doFindBeanByUnid(siteId);
siteRecords = ptlSite.getHits();
}
//返回值
JSONObject json = new JSONObject();
json.put("result", result);
json.put("siteRecords", siteRecords);
PrintUtil.print(response, json.toString());