QuarkXPress 二分类数据集 Tomcat 单例模式 控制跳转 Jetson Nano SLAM magento input soap vue开发文档 建站一条龙 angularjs视频教程 鼠标进入和离开事件 matlab根号怎么打出来 重置hosts Navicat python随机函数 python日期转时间戳 python循环语句 python命令 javaswitch java中的队列 java线程中断 java多线程教程 java创建目录 javaabstract java获取文件 linux命令行大全 linux教学 java游戏制作 python下载教程 信息系统项目管理师教程 高效能人士的七个习惯下载 华为一键root工具 jlabel 暗黑3挂机plusready win98序列号 geartrax 氤氲之息哪里爆率高
当前位置: 首页 > 学习教程  > 编程语言

spring mvc允许访问静态资源

2021/2/13 18:13:34 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

前言 最近心血来潮,想从一个简单的系统弄起,然后根据慢慢增加一些自己觉得好玩的功能,不做前后端的分离,就是普通的管理系统,结果却发现在整合静态页面访问的时候,出现各种静态资源404的问题,后…

前言

最近心血来潮,想从一个简单的系统弄起,然后根据慢慢增加一些自己觉得好玩的功能,不做前后端的分离,就是普通的管理系统,结果却发现在整合静态页面访问的时候,出现各种静态资源404的问题,后来发现是spring mvc中为了安全对静态资源的访问需要单独进行配置。这篇博客就总结一下遇到的这个问题

简单的需求说明

想弄一个简单的登录页面,结果发现各种都弄好了,最后出现的是这个样子。

在这里插入图片描述

各种路径反复检查,均没有发现任何问题,但是各种样式文件以及前端js脚本文件,就返回个404。

原因分析

由于没有做前后端分离,因此前端的一些文件与后端代码存放在一起,前端文件结构如下

在这里插入图片描述

由于我们在集成freemarker的时候,配置了freemarker的存放路径,因此针对templates目录下的HTML文件可以正常访问到

## 配置freemarker模板文件的存放路径
spring.freemarker.template-loader-path=classpath:/templates/

而针对statics文件的访问,始终被spring mvc的请求进行了拦截(简单猜测spring mvc是出去安全的考虑,还没学过spring mvc源码,这里只能猜测)。

解决方法

因此我们如果要解决statics目录下的文件无法访问的问题,就需要告知spring mvc对这个目录下文件的访问不做拦截

1、通过@Configuration的方式注册资源处理器

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
 	//注册静态资源的处理器,指定statics文件夹的路径       
	registry.addResourceHandler("/statics/**").addResourceLocations("classpath:/statics/");
    }
}

最终结果

直接贴图,可正常访问的相关样式文件和脚本文件

在这里插入图片描述


本文链接: http://www.dtmao.cc/news_show_700217.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?