Spring MVC使用之favicon.ico加载失败解决方案

我们在使用Spring进行应用开发的时候Spring会对静态资源,URL路径,视图等进行统一管理,那么问题就来了,我们自己定义的资源文件都配置好了,但是有些请求是因为浏览器默认的行为,比如比较特殊的favicon.ico他会因为请求的路径是默认的应用根目录,而我们的静态资源路径是不可能映射到根路径的,因为根路径还会有很多其他的资源,如果这些资源都暴露的话会导致一些信息泄露是非常不安全的行为,所以我们也不建议这么来做,所以我们一般都是根据实际需要今天配置,哪对于这样的请求怎么处理呢?其实没有那么复杂,只不过是我们的思路太过局限了,我们先说说web应用的发展史,太过细节的知识点不在今天的说明范围,以前我们做web项目访问的资源都是资源的绝对路径,默认在根路径有个页面index,它引用了一些JS,我们怎么写,即可写引用路径也可以写绝对路径,但是我们访问系统访问页面的时候能,访问的绝对是应用的绝对路径,从根路径开始一级一级访问,知道定位了我们需要的页面,静态资源也是如此。这样做的好处是简单,但是安全性基本没有了,因为一旦知道你的首页地址,其他的地址也基本就知道了,像现代的应用都是数据驱动的,都是会有很多敏感信息在页面中的,如果我们的页面个方面随随便便就暴露了,那么对于使用应用的用户而言是非常不安全的,因为随时可能将自己的一些敏感信息暴露出去,所以为了更安全的做法是什么呢?就是拦截映射的请求,将请求转换成对应的资源,这样的话我们的资源不会字节暴露在外面,并且通过这种手段可以严格控制那些路径是应用外部可以访问的,那些是绝对不可访问的,spring的拦截器就是干这个事情的,所以我们今天说的特殊的静态资源如果资源不再默认的根路径这种情况,我们就可以通过spring的拦截机制,通过Controller来进行资源映射,是不是这么一说你就明白了,而不是网上说的各种配置页面头元信息等。既然都明白解决问题的思路了,那么我们就上代码:

@GetMapping("favicon.ico")
    public String getFavion() {
        return "/static/images/favicon.ico";
    }

freemark怎么设置不解析指定的$符号

要设置freemarker不解析指定的符号,你可以使用Freemarker的字符串插值功能来实现。在模板中使用‘符号,你可以使用Freemarker的字符串插值功能来实现。在模板中使用符号,你可以使用Freemarker的字符串插值功能来实现。在模板中使用‘{''}来代替需要保留的符号。

例如,如果你想在模板中显示$variable而不被freemarker解析为变量,你可以这样写:

${'$'}variable

这将在生成的输出中显示为$variable,而不会被freemarker解析为变量。

Youtube Shorts视频下载工具

很多时候,你遇到了一个令人兴奋的YouTube Shorts短视频,并希望将其保存在你的设备上,以便以后有时间再浏览和欣赏。

但不幸的是,YouTube自身没有提供任何下载链接或下载按钮来为用户下载自己喜欢的短敌视。

正因为如此,目前市场上对第三方YouTube Shorts下载程序和网站有巨大的需求。

为了让你可以更方便地保存自己想要的视频,我们总结了一些可以下载YouTube短视频的最佳工具。
Youtube Shorts是什么

为了与TikTok、SnackVideo和Instagram Reels等公司的短视频竞争,YouTube开发并发布了一项名为YouTube Shorts的新功能。

2021年,YouTube推出了Youtube Shorts,该功能允许发布者可以发布不到一分钟时间内的短视频。

YouTube Shorts是一个新的短视频服务,你可以使用YouTube的制作工具录制、编辑、添加音乐、添加动画文本,并改变视频的节奏,就像你使用TikTok一样。

随着这一功能的推出,来自100多个国家的YouTube用户可以创作短剧并上传到YouTube,你可以使用Youtube Shorts观看技术、幽默、知识、舞蹈等各种类别的短片。

一些YouTube短片视频很有吸引力,也许你不想通过在 YouTube上搜索来观看YouTube Shorts短视频,你可能想下载保存这些视频以便以后离线观看。

YouTube Shorts Video Downloader

和许多互联网视频下载器的操作方式类似,这个YouTube短片视频下载器也是YouTube短片下载的最佳网站之一。

你可以自由地下载你喜欢的视频,不需要注册或登录,也不用担心存在病毒或恶意软件风险。

你可以选择下载有或没有声音的视频,以及不同质量的视频,要下载YouTube Shorts视频,只需将其URL复制并粘贴到YouTube Shorts视频下载器的下载框中。

该页面确实有一些碍眼的广告,如果你不介意广告,这个网络下载器是一个非常不错的选择。

FFmpeg学习笔记--Ubuntu20.04编译安装FFmpeg、FFplay和FFprobe

1--下载FFmpeg

① 下载 5.1 版本的 ffmpeg

wget http://www.ffmpeg.org/releases/ffmpeg-5.1.tar.gz

② 解压下载的压缩包

tar -zxvf ffmpeg-5.1.tar.gz

2--编译FFmpeg

① 进入解压后的文件夹

cd ffmpeg-5.1

② 安装依赖

# 安装ffplay需要的依赖
sudo apt-get install libx11-dev xorg-dev libsdl2-2.0 libsdl2-dev
sudo apt install clang libfdk-aac-dev libspeex-dev libx264-dev libx265-dev libnuma-dev
sudo apt install yasm pkg-config libopencore-amrnb-dev libopencore-amrwb-dev

③ 编译ffmpeg

# 查看帮助文档确定需要安装的相关参数
./configure --help
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-ffplay --enable-ffprobe --enable-libx264 --enable-libx265 --enable-debug
make

注:make 这步需要的时间一般比较长;

sudo make install

3--设置环境变量

① 查看当前路径

pwd

② 将当前路径添加到环境变量当中

export PATH="$PATH:/home/liujinfu/Downloads/ffmpeg-5.1/ffmpeg"

注:上面的代码实质上是把可执行文件ffmpeg(绿色)添加到环境变量中;

一般来说,添加环境变量这步是可以不进行的,因为在编译ffmpeg的过程中,正常情况下会自动把三个可执行文件 ffmpeg、ffplay 和 ffprobe 添加到 /usr/local/bin 目录下;

4--测试

① 查看ffmpeg的版本

    ffmpeg -version
    ffplay -version
    ffprobe -version


② 查看ffmpeg帮助文档

    ffmpeg -h
    ffmpeg -h long
    ffmpeg -h full

③ 卸载 ffmpeg


    # cd ffmpeg-5.1/ 进入ffmpeg源码编译的路径
    sudo make uninstall

解决:Jackson反序列化Java内部类失败(序列化后的识别码为LinkedHashMap,而非内部类本身)


jaskon识别错误
解决方案:实体类添加

 @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "mytype", include = JsonTypeInfo.As.PROPERTY)
    @JsonSubTypes({ //设置对应子类的识别码值
            @JsonSubTypes.Type(value = LinkedHashMap.class, name = "ipsEntity"),
            @JsonSubTypes.Type(value = CmsReaderPermissions.IpsEntity.class, name = "ipsEntity")
    })