解决云服务器响应慢,网页加载慢的问题

问题:

本文接上一次博客,云服务发布springboot项目踩过的坑

自从上次,一咬牙买了阿里云的服务器(虽然是白嫖的15天试用期)。

但是有一个问题一直困扰着我,如鲠在喉!

非常难受!

就是网页的加载速度,实在是太慢了!

硬生生的把我从5G时代,拉倒了3G时代!

可是我使用的是2M的宽带啊,速度不至于这样吧!

原因分析:

1、服务器原因——购买网速快的宽带

2、数据库查询慢——增加索引,一次查询少量数据

3、服务器传来的css,js,图片等文件没有被缓存,导致一次次重复的加载相同的文件

4、其他

发现原因:

这里着重解决第3种问题。

解决云服务器响应慢,网页加载慢的问题

检查vue.js 里面的请求头,发现no-cache

解决云服务器响应慢,网页加载慢的问题

然后,我百度了很久,终于找到了解决方案:

首先,新建一个类 WebConfigConfigurer,实现 WebMvcConfigurer接口

「此方法的作用就是,将resouces下的静态资源纳入到浏览器缓存之中」

package com.jch.quiz2.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.http.CacheControl;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.concurrent.TimeUnit;

@Configuration
public class WebConfigConfigurer implements WebMvcConfigurer {  // 推荐使用implements WebMvcConfigurer,这样不会覆盖其他的配置
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**")  // 此处是url的路径
                .addResourceLocations("classpath:/static/") // 这里是uri资源的路径,即静态资源路径
//                .addResourceLocations("classpath:/static/pic/") // 这里可以配置专门的文件夹
                .setCacheControl(CacheControl.maxAge(604800, TimeUnit.SECONDS).cachePublic());
    }
}

解决云服务器响应慢,网页加载慢的问题

效果:

添加配置类前

解决云服务器响应慢,网页加载慢的问题

添加配置类后

解决云服务器响应慢,网页加载慢的问题

可以看到,网页的响应速度快了100多ms!!

而且,在size一栏,可以看到memory cache,说明,已经加入了浏览器内存之中!

参考资料:

http://mp.weixin.qq.com/s?__biz=MzU2MTI4MjI0MQ==&mid=2247505616&idx=1&sn=fff1de1a6541531973871e016d261001&chksm=fc79bb7ecb0e3268ed10bf296b7a3c7c4ccdc309fb35f556546213733d4bc778fe2b3cec194b&mpshare=1&scene=23&srcid=0907ZxiXAEhTRfPqgw1Zy2qp&sharer_sharetime=1662537607238&sharer_shareid=dd06a3af04d13a571abe1c6fea8a303d#rd

ps:这位大佬讲的非常清楚了!

Original: https://www.cnblogs.com/cjin-01/p/16666067.html
Author: 2337
Title: 解决云服务器响应慢,网页加载慢的问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/575362/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 基于协同过滤算法实现选课推荐系统

    1.系统功能 1、用户账户管理2、学生个人信息的查看与修改3、学生的网上选课与课程的评分4、教师个人信息的查看与修改5、教师对学生课程评价结果的查看6、管理员对学生信息与教师信息的…

    Java 2023年6月8日
    0171
  • Springboot 之 HandlerMethodReturnValueHandler 运用

    现在项目中大部分采用前后端分离的架构,采用这种架构的项目,在返回数据时,几乎都是采用返回 json 格式的数据。而 spring 中返回 json 格式的数据一般采用 @RestC…

    Java 2023年6月7日
    0107
  • 白盒安全测试系列 之 概述

    1.1 前言Java Web安全测试主要分为黑盒测试和白盒测试,黑盒测试是指测试人员不清楚Web具体的架构和实现,通过模拟一个或者多个攻击角色进行渗透攻击,来发现潜在的漏洞和安全风…

    Java 2023年6月7日
    092
  • Android 自动取色并设置沉浸式状态栏

    Android 自动取色并设置沉浸式状态栏 – Stars-One的杂货小窝 最近在进行产品的优化,也是研究了下沉浸式状态栏的实现方法及自动取色,记录一下笔记 设置沉浸…

    Java 2023年6月13日
    090
  • idea中自定义修改jdk源码,加注释

    前言 最近打算出jdk源码的博客,想在源码基础上加注释,在此把方法分享给大家。 处理方法 打开project structures,选择sdk。根据上方的路径,找到zip包,进行解…

    Java 2023年5月30日
    098
  • SpringBoot中配置Logback日志输出

    因为在SpringBoot中默认使用的Logback日志系统,所以SpringBoot已经集成了相关依赖,无需多余的依赖,只需在src/main/resources文件夹下,增加l…

    Java 2023年5月30日
    073
  • 使用Jsonp实现跨域请求

    showData( {"data":[{"u":"/products/1.html","n":&qu…

    Java 2023年6月7日
    076
  • Spring Boot 集成Shiro的多realm配置

    我在做毕设的时候采用shiro进行登录认证和权限管理的实现。其中需求涉及使用三个角色分别是:学生、教师、管理员。现在要三者实现分开登录。即需要三个Realm——StudentRea…

    Java 2023年5月30日
    0101
  • java Collection集合

    集合是java中提供的一种容器,可以用来存储多个数据。 集合和数组既然都是容器,他们有什么区别呢? 数组的长度是固定的。集合的长度是可变的。 数组中存储的是同一类型的元素,可以存储…

    Java 2023年5月29日
    079
  • Spring Boot 使用 Log4j2

    Java 中比较常用的日志工具类,有 Log4j、SLF4j、Commons-logging(简称jcl)、Logback、Log4j2(Log4j 升级版)、Jdk Loggin…

    Java 2023年5月30日
    090
  • EMQ云端与局域网实现桥接功能

    云端部署Emqx。局域网部署NanoMQ。相关配置即可实现桥接功能; 建议采用docker部署。 sudo docker run -itd -v /home/nvidia/nano…

    Java 2023年5月29日
    079
  • 单链表(Java–尚硅谷)

    大体结构和C++的链表差不多 补充之前不知道的:链表分两类,带和不带头结点的链表 现在才知道,Java没有像C/C++那样的指针 首先创建一个 LinkList类,然后把链表的各个…

    Java 2023年6月7日
    065
  • MyBatis(二)-CURD (ResultMap 一对一,一对多)

    1、insert 标签 1.1 获取SqlSessionFactory 对象的通用方法 方便后面分测试; //获取SqlSessionFactory 对象的通用方法 public …

    Java 2023年6月15日
    068
  • Redis入门到实战

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年6月7日
    069
  • 使用 Hexo 搭建个人独立博客

    一.前言 一直在博客园写博客,已经写了几年了,博客园也挺好用的,用户多,阅读文章的也多,互动也多。但是自己总有一个想搭建一个独立博客的想法,作为一个 Coder,当然是想自己写,最…

    Java 2023年6月9日
    072
  • 基于springboot整合的rabbitmq

    RabbitMQ官方解释: 消息系统允许软件、应用相互连接和扩展。这些应用可以相互链接起来组成一个更大的应用,或者将用户设备和数据 进行连接。消息系统通过将消息的发送和接收分离来实…

    Java 2023年5月30日
    053
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球