SSM+AJAX实现对网页访问量的统计

SSM+AJAX实现对网页访问量的统计

网页的代码


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>统计页面点击量</title>
</head>

<script>
	function load(){
		var xmlHttp;   //所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。
		               //XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新
		if(window.XMLHttpRequest){
			xmlHttp=new XMLHttpRequest();
		}else{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		//onreadystatechange 事件当请求被发送到服务器时,我们需要执行一些基于响应每当 readyState 改变时,
		//就会触发 onreadystatechangreadyState 属性存有 XMLHttpRequest 的状态信息
		xmlHttp.onreadystatechange=function(){
			if(xmlHttp.readyState==4 && xmlHttp.status==200){
				//alert(xmlHttp.responseText);//如需获得来自服务器的响应,要使用 XMLHttpRequest 对象的 responseText或 responseXML属性。
				                            //responseText 获得字符串形式的响应数据,responseXML 获得 XML 形式的响应数据。
				var dataObj=eval("("+xmlHttp.responseText+")");//var dataObj=eval("("+data+")");//转换为 json 对象
				document.getElementById("count").innerHTML=dataObj.count;//使用document.getElementById("name")可以取到页面上一个 id=name 的元素				 
				                                                         //document.getElementById("name").value是获取这个元素的value属性
			}
		};
		xmlHttp.open("get", "https://**.com/PageClick/pageclick/index.do?indexcount=1", true);//open(method,url,async)规定请求的类型、URL 以及是否异步
		                                                           //method:请求的类型;GET 或 POST
		                                                           //url:文件在服务器上的位置
		                                                           //async:true(异步)或 false(同步)
		
	    xmlHttp.send();//send(string)将请求发送到服务器。string:仅用于 POST 请求
	}
</script>
	
<body onload="load()">
index访问量:<a id="count"></a>
</body>
</html>

SSM控制器的代码


@Controller
@RequestMapping("/pageclick")
public class PageClickController{

	@Resource
	private PageClickService pageClickService;
	
	@RequestMapping("/index")	
	public void indexclick(HttpServletRequest request, HttpServletResponse response) throws IOException {
		Integer indexcount=Integer.parseInt(request.getParameter("indexcount"));
	    //System.out.println(indexcount);
		if(indexcount!=null) {
		pageClickService.indexcountset();//刷新页面一次,页面点击量+1
		
		Integer count=pageClickService.readindexcountset();//返回页面总点击量
	
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out=response.getWriter();
		JSONObject resultJson=new JSONObject();
		resultJson.put("count", count);
		out.println(resultJson);
		out.flush();
		out.close();
	    }
	}

}

经过映射,执行SQL语句更新数据库中网页访问量的数据


update indexpage set indexcount=indexcount+1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值