JavaWeb三大组件之一Servlet【访问量统计-ServletContext的应用】

需求

一个项目中所有的资源被访问都要对访问量进行累加!

简单实现

创建一个int类型的变量,用来保存访问量,然后把它保存到ServletContext的域中,这样可以保存所有的Servlet都可以访问到!

  • 最初时,ServletContext中没有保存访问量相关的属性;
  • 当本站第一次被访问时,创建一个变量,设置其值为1;保存到ServletContext中;
  • 当以后的访问时,就可以从ServletContext中获取这个变量,然后在其基础之上加1。
  • 获取ServletContext对象,查看是否存在名为count的属性,如果存在,说明不是第一次访问,如果不存在,说明是第一次访问;
- 第一次访问:调用Servletcontext的setAttribute()传递一个属性,名为count,值为1;
- 第2~N次访问:调用ServletContext的getAttribute()方法获取原来的访问量,给访问量加1,再调用Servletcontext的setAttribute()方法完成设置。

相信各位一定见过很多访问量统计的网站,即“本页面被访问过XXX次”。因为无论是哪个用户访问指定页面,都会累计访问量,所以这个访问量统计应该是整个项目共享的!很明显,这需要使用ServletContext来保存访问量。

        //获取ServletContext对象
        ServletContext application  = this.getServletContext(); 
        //获取ServletContext对象中的count属性
        Integer count = (Integer)application.getAttribute("count") ;
        if(count == null) {
            //如果在ServletContext中不存在count属性,那么设置count的值为1,表示第一次被访问。
            count = 1; 
        } else {
            //如果在ServletContext中存在count属性,说明以前被访问过,那么让count在原来的基础上加1。
            count++ ;
        }
        response.setContentType("text/html;charset=utf-8");
        //向客户端响应本页面被访问的次数。
        response.getWriter().print("<h1>本页面一共被访问" + count + "次!</h1>") ;
        //保存count的值到ServletContext对象中。
        application.setAttribute("count", count); 
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值