网站访问量统计小案例 | 学习笔记

开发者学堂课程【Servlet 入门:网站访问量统计小案例】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/34/detail/757


网站访问量统计小案例


内容介绍

一、网站访问量统计小案例


一、网站访问量统计小案例

练习:访问量统计

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

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

*最初时,SenletContext 中没有保存访问量相关的属性;

*当本站第一次被访问时,创建一个变量,设置其值为1;保存到 SeCotet 中;

*当以后的访问时,就可以从 sevletCentet 中获取这个变量,然后在其基础之上加1。*.获取 ServletContext 对象,查看是否存在名为 count 的属性,如果存在,说明不是第一次访问,如果不存在,说明是第一-次访问;

第一次访问:调用 Servletcontex t的 setAttribute 传递一个属性,名为 count, 值为1;

第2~N次访问:调用 SendetContext 的 getAttribute(方法获权原来的访问量,给访问量加1,再调用 Servletcontext 的 setAttribute 方法完成设置。

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

servletContext application=this.getSexyhetContext()

Integer count =(Integer) applicatdon.getattribute ("count")]:

if(count == nall) {

count = 1)

} else {

count++ 

}

sesponse. setContentTxee ("text/huml.charset=utf-8");

Eesponse.getWriter() print ("

本页面一共被访问" + count + “次!

”);

epplication. setAttribute ("count", count) ;

例如:

public class AServlet extends HttpServlet {

public void doGet (HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

1. 获取 ServletContext 对象

2. 从 ServletContext 对象中获取名为 count 的属性

3. 如果存在:给访问量加1,然后再保存回去;

4.如果不存在:说明是第一次访问,向 Servletcontext 中保存名为 count 的属性,值为1

servletContext app = this.getServletcontext ();

Integer count = (Integer) app. getAttribute ("count");

if(count y null) {

app. etAttribute ("count", 1);

else (

app. setAttribute ("count", count+1);

向浏览器输出

需要使用响应对象!

PrintWriter pw = response getWriter() ;

pw-print("

" + count + "

") ;

上一篇:当程序员说“这代码写的可真烂”,他们的意思是“这烂代码不是我写的”。而当他们说这段代码有些“小问题”时,很可能这代码是他们自己写的


下一篇:蓝桥杯省赛第一场 C++ 大学 B 组2021