资讯专栏INFORMATION COLUMN

Spring Boot入门(12)实现页面访问量统计功能

LeanCloud / 2816人阅读

摘要:在日常的网站使用中,经常会碰到页面的访问量或者访问者人数统计。运行项目,在浏览器中输入显示的页面如下刚载入页面时,显示页面被访问次。当我们将这个这也载入次后,显示如下这样我们就用实现了页面访问量的统计功能。

  在日常的网站使用中,经常会碰到页面的访问量(或者访问者人数)统计。那么,在Spring Boot中该如何实现这个功能呢?
  我们的想法是比较简单的,那就是将访问量储存在某个地方,要用的时候取出来即可,储存的位置可选择数据库或者其他文件。本例所使用的例子为txt文件,我们将访问量数据记录在D盘的count.txt文件中。
  下面直接开始本次的项目。整个项目的完整结构如下:

我们只需要修改划红线的三个文件,其中build.gradle的代码如下:

buildscript {
    ext {
        springBootVersion = "2.0.3.RELEASE"
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: "java"
apply plugin: "eclipse"
apply plugin: "org.springframework.boot"
apply plugin: "io.spring.dependency-management"

group = "com.example"
version = "0.0.1-SNAPSHOT"
sourceCompatibility = 1.8

repositories {
    mavenCentral()
}


dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-thymeleaf
    compile group: "org.springframework.boot", name: "spring-boot-starter-thymeleaf", version: "2.0.1.RELEASE"
}

视图文件(模板)index.HTML的代码如下:




    
    访问统计
    


Hello, world!

  本页面已被访问次。

控制器文件VisitController.java文件的代码如下:

package com.example.visit.Controller;

import java.io.*;
import java.util.Map;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller

public class VisitController {

    @GetMapping("/index")
    public String Index(Map  map){
        // 获取访问量信息
        String txtFilePath = "D://count.txt";
        Long count = Get_Visit_Count(txtFilePath);
        System.out.println(count);
        map.put("count", count); // 后台参数传递给前端

        return "index";
    }

    /*
     * 获取txt文件中的数字,即之前的访问量
     * 传入参数为: 字符串: txtFilePath,文件的绝对路径
     */
    public static Long Get_Visit_Count(String txtFilePath) {

        try {
            //读取文件(字符流)
            BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(txtFilePath),"UTF-8"));
            //循环读取数据
            String str = null;
            StringBuffer content = new StringBuffer();
            while ((str = in.readLine()) != null) {
                content.append(str);
            }
            //关闭流
            in.close();

            //System.out.println(content);
            // 解析获取的数据
            Long count = Long.valueOf(content.toString());
            count ++; // 访问量加1
            //写入相应的文件
            BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(txtFilePath),"UTF-8"));
            out.write(String.valueOf(count));

            //清楚缓存
            out.flush();
            //关闭流
            out.close();

            return count;
        }
        catch (Exception e){
            e.printStackTrace();
            return 0L;
        }


    }
}

这样我们就完成了整个项目的配置,最后,我们在D盘中的count.txt中写入数字0,作为初始访问量。
  运行Spring Boot项目,在浏览器中输入localhost:8080/index , 显示的页面如下:

刚载入页面时,显示页面被访问1次。当我们将这个这也载入10次后,显示如下:

这样我们就用Spring Boot实现了页面访问量的统计功能。

  本次分享到此结束,欢迎大家交流~~

注意:本人现已开通两个微信公众号: 因为Python(微信号为:python_math)以及轻松学会Python爬虫(微信号为:easy_web_scrape), 欢迎大家关注哦~~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71542.html

相关文章

  • Spring Boot入门(13)自制音乐平台

    摘要:经过笔者这几天的辛勤劳作其实就是苦逼地码代码,一个新的网站已经上线啦该网站是用工具写的,主要实现的功能如下根据歌曲名称和音乐平台搜索歌曲,并实现歌曲的在线播放歌曲的下载功能网页统计量功能开发历史介绍。   经过笔者这几天的辛勤劳作(其实就是苦逼地码代码),一个新的网站已经上线啦!该网站是用Spring Boot工具写的,主要实现的功能如下: 根据歌曲名称和音乐平台搜索歌曲,并实现歌曲...

    Mr_zhang 评论0 收藏0
  • Druid数据库连接池就这么简单

    摘要:看过的一些书上也是多数介绍了这两种数据库连接池,自己做的也是使用。参考资料文档首页文档问题阿里学习,号称最好的数据库连接池常用数据库连接池配置说明学习整合,使用连接池使用和监控配置数据源配置如果文章有错的地方欢迎指正,大家互相交流。 前言 本章节主要讲解Druid数据库连接池,为什么要学Druid数据库连接池呢?? 我的知识储备数据库连接池有两种->C3P0,DBCP,可是现在看起来并...

    waltr 评论0 收藏0
  • Java学习路线总结,搬砖工逆袭Java架构师(全网最强)

    摘要:哪吒社区技能树打卡打卡贴函数式接口简介领域优质创作者哪吒公众号作者架构师奋斗者扫描主页左侧二维码,加入群聊,一起学习一起进步欢迎点赞收藏留言前情提要无意间听到领导们的谈话,现在公司的现状是码农太多,但能独立带队的人太少,简而言之,不缺干 ? 哪吒社区Java技能树打卡 【打卡贴 day2...

    Scorpion 评论0 收藏0
  • Spring Boot 2.0.1 入门教程

    摘要:即此方法处理根路径请求,如。方法返回类型,即响应返回的是字符串数据,这里是。创建类在包下创建类,并添加如下代码标明了此类为应用的启动类。待启动成功后,在浏览器中访问看到即为成功。 简介 Spring Boot是Spring提供的一套基础配置环境,可以用来快速开发生产环境级别的产品。尤其适合开发微服务架构,省去了不少配置麻烦。比如用到Spring MVC时,只需把spring-boot-...

    Miracle_lihb 评论0 收藏0
  • SpringBoot 入门简介

    摘要:这里使用的是数据库启动类上加上注解在启动类中添加对包扫描扫描多个包下的可以有以下几种方法扫描会自动加载相关配置,数据源就会自动注入到中,会自动注入到中,可以直接使用。有配置文件下的使用扫描多个包下的可以有以下几种方法扫描 Spring-Boot 学习笔记 1 Spring-Boot 介绍 1.1 什么是Spring-Boot Spring-Boot是由Pivotal团队提供的全新框架...

    chuyao 评论0 收藏0

发表评论

0条评论

LeanCloud

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<