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

简介: 快速学习网站访问量统计小案例。

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

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


网站访问量统计小案例


内容介绍

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


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

练习:访问量统计

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

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

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

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

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

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

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

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

servletContext applicationthis.getSexyhetContext()

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

if(count == nall) {

count = 1)

} else {

count++

}

sesponse. setContentTxee ("text/huml.charsetutf-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 + "

") ;

相关文章
|
关系型数据库 MySQL Apache
window下修改MySQL密码
window下修改MySQL密码
354 6
|
存储 对象存储
云效构建物上传到Packages统一管理报错 413 Request Entity Too Large 怎么解决?
云效构建物上传到Packages统一管理报错 413 Request Entity Too Large 怎么解决?
1216 0
|
Python
Pycharm一直卡在connecting to console的解决办法[图文步骤]
之前因为重新装了电脑系统导致有些开发软件因为不是安装在C盘的,所以没有卸载但有些环境被改变了,所以使用不正常,今天在使用pycharm的时候,打开出现了connecting to console,并且一直卡在这里
2918 0
Pycharm一直卡在connecting to console的解决办法[图文步骤]
|
弹性计算
查看阿里云服务器IP地址的三种方法
查看阿里云服务器IP地址的三种方法
7342 1
|
应用服务中间件 API nginx
网站统计——利用开源的网站流量分析统计工具
网站统计——利用开源的网站流量分析统计工具
217 0
|
11月前
|
Ubuntu 虚拟化
软件安装(二):VMware ubuntu20.04 安装步骤
这篇文章是关于如何在VMware Workstation 16 Player上安装Ubuntu 20.04桌面版的详细步骤指南。
569 2
软件安装(二):VMware ubuntu20.04 安装步骤
|
10月前
|
存储 关系型数据库 MySQL
【赵渝强老师】解决MySQL丢失root用户密码
本文介绍了MySQL数据库中用户密码存储的变化,以及如何通过特殊方法重置root用户的密码。从MySQL 5.7版本开始,密码字段由“password”改为“authentication_string”。文章详细列出了重置密码的步骤,并提供了相关代码示例和视频教程。
286 0
|
数据可视化 搜索推荐 定位技术
网站地图(sitemap)生成及数据可视化分析工具(SiteMap.Top)
SiteMap.Top 是一款专注于网站地图生成与数据可视化分析的工具,支持一键生成 sitemap.xml 并提供详细的统计数据与可视化界面,帮助网站管理员、SEO 专家及内容创作者高效管理和优化网站结构,提升网站可见性和用户体验。[官网链接](https://sitemap.top/)
592 0
网站地图(sitemap)生成及数据可视化分析工具(SiteMap.Top)
|
前端开发 Java
SpringSecurity6从入门到实战之默认登录页面的生成
本文介绍了SpringSecurity在SpringBoot项目中如何自动生成默认登录页面的过程。当访问如`/hello`的受保护路由时,请求会经过多个过滤器。在AuthorizationFilter中,未认证的请求会被拦截并抛出AccessDeniedException。接着,ExceptionTranslationFilter捕获此异常并启动身份验证,调用LoginUrlAuthenticationEntryPoint的commence方法,重定向到/login。DefaultLoginPageGeneratingFilter拦截/login请求,生成并返回默认的登录页面。
|
运维 Linux 虚拟化
Docker详解(十四)——Docker网络类型详解
Docker详解(十四)——Docker网络类型详解
399 0