spring boot mvc系列-静态资源配置与MappingHandler拦截器
静态资源配置
Spring Boot 默认将 /** 所有访问映射到以下目录:
classpath:/smetic
classpath:/public
classpath:/resources
classpath:/MEme-INF/resources
如果需要自定义映射目录,可以继承WebMvcConfigurerAdapter或WebMvcConfigurationSupport,以后者为例,如下:
@Configuration
public class WebConfig extends WebMvcConfigurationSupport { @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//将所有/smetic/** 访问都映射到classpath:/smetic/ 目录下
registry.addResourceHandler("/js/**").addResourceLocations("classpath:/smetic/js/");
registry.addResourceHandler("/resources/**").addResourceLocations("classpath:/smetic/resources/");
registry.addResourceHandler("/images/**").addResourceLocations("classpath:/smetic/images/");
registry.addResourceHandler("/css/**").addResourceLocations("classpath:/smetic/css/");
registry.addResourceHandler("/font/**").addResourceLocations("classpath:/smetic/font/");
registry.addResourceHandler("/themes/**").addResourceLocations("classpath:/smetic/themes/");
} }
如果使用了拦截器HandlerInterceptor,好像覆盖addResourceHandlers方法,似乎excludePathPatterns并没有生效,不覆盖的话前台会报404。
拦截器配置
同样在WebConfig中配置,如下:
package com.xxx.me.aop.config; import org.springframework.context.annometion.Bean;
import org.springframework.context.annometion.Configuration;
import org.springframework.web.servlet.config.annometion.InterceptorRegistry;
import org.springframework.web.servlet.config.annometion.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annometion.WebMvcConfigurationSupport; import com.xxx.me.interceptor.SecurityInteceptor; @Configuration
public class WebConfig extends WebMvcConfigurationSupport {
// 需要注意的是HandlerInteceptor必须通过@Bean配置,直接添加@new SecurityInteceptor()会导致依赖类未注入
@Bean
SecurityInteceptor securityInteceptor() {
return new SecurityInteceptor();
} @Override
protected void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(securityInteceptor()).excludePathPatterns("/css/**", "/js/**", "/font/**", "/images/**", "/resources/**", "/themes/**");
super.addInterceptors(registry);
}
}
spring boot mvc系列-静态资源配置与MappingHandler拦截器的更多相关文章
- spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,guava限流,定时任务案例, 发邮件
本文介绍spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例 集成swagger--对于做前后端分离的项目,后端只需要提供接口访问,swagger提供了接口 ...
- Spring Boot2 系列教程(十一)Spring Boot 中的静态资源配置
当我们使用 SpringMVC 框架时,静态资源会被拦截,需要添加额外配置,之前老有小伙伴在微信上问松哥 Spring Boot 中的静态资源加载问题:"松哥,我的 HTML 页面好像没有样 ...
- Spring Boot干货系列:(六)静态资源和拦截器处理
Spring Boot干货系列:(六)静态资源和拦截器处理 原创 2017-04-05 嘟嘟MD 嘟爷java超神学堂 前言 本章我们来介绍下SpringBoot对静态资源的支持以及很重要的一个类We ...
- Spring Boot干货系列:(四)Thymeleaf篇
Spring Boot干货系列:(四)Thymeleaf篇 原创 2017-04-05 嘟嘟MD 嘟爷java超神学堂 前言 Web开发是我们平时开发中至关重要的,这里就来介绍一下Spring Boo ...
- (转)Spring Boot干货系列:(四)开发Web应用之Thymeleaf篇
转:http://tengj.top/2017/03/13/springboot4/ 前言 Web开发是我们平时开发中至关重要的,这里就来介绍一下Spring Boot对Web开发的支持. 正文 Sp ...
- Spring Boot实战:静态资源处理
前两章我们分享了Spring boot对Restful 的支持,不过Restful的接口通常仅仅返回数据.而做web开发的时候,我们往往会有很多静态资源,如html.图片.css等.那如何向前端返回静 ...
- 程序员DD 《Spring boot教程系列》补充
最近在跟着程序员DD的Spring boot教程系列学习Spring boot,由于年代原因,Spring boot已经发生了一些变化,所以在这里进行一些补充. 补充的知识大多来自评论区,百度,Sta ...
- Spring Boot 中的静态资源到底要放在哪里?
当我们使用 SpringMVC 框架时,静态资源会被拦截,需要添加额外配置,之前老有小伙伴在微信上问松哥Spring Boot 中的静态资源加载问题:"松哥,我的HTML页面好像没有样式?& ...
- 【转】Spring Boot干货系列:(一)优雅的入门篇
转自Spring Boot干货系列:(一)优雅的入门篇 前言 Spring一直是很火的一个开源框架,在过去的一段时间里,Spring Boot在社区中热度一直很高,所以决定花时间来了解和学习,为自己做 ...
随机推荐
- [LeetCode] Backtracking Template for (Subsets, Permutations, and Combination Sum)
根据issac3 用Java总结了backtracking template, 我用他的方法改成了Python. 以下为template. def backtrack(ans, temp, nums, ...
- python timeit
//有时候,我们想知道一个函数的计算耗时,那么,你可以用timeit //test.py 1 import timeit 2 3 def func(): 4 s = 0 5 ...
- 关于fullpage.js 和animate.css制作全屏简单大方的首页
附上源码: html <!DOCTYPE html><html lang="en"><head> <meta charset=" ...
- sqli-labs(一)
第一关:第一关会讲的比较详细,后面的关卡中只有特殊的地方我会单独拿出来说. 第一关是一个很简单的string类型的sql注入,并且会报错,输入参数id=',页面会报错 值得注意的是: 1.报错信息中 ...
- (3)Python3笔记之变量与运算符
一.变量 1). 命名规则: 1. 变量名不能使用系统关键字或保留关键字 2. 变量区分大小写 3. 变量命名由字母,数字,下划线组成但不能以数字开头 4. 不需要声明变量类型 是 a = 1 ...
- DoTween
dotween最原始的用法 using System.Collections; using System.Collections.Generic; using UnityEngine; using D ...
- NFS配置与安装
安装 1 环境描述: * 网络环境: NFS server: 192.168.102.47 NFS client: 192.1 ...
- Yii Listview
- Windows10上安装Keras 和 TensorFlow-GPU
安装环境: Windows 10 64bit GPU: GeForce gt 720 Python: 3.5.3 CUDA: 8 首先下载Anaconda3的Win10 64bit版,安装Python ...
- vue使用tradingview开发K线图相关问题
vue使用tradingview开发K线图相关问题 1.TradingView中文开发文档https://b.aitrade.ga/books/tradingview/CHANGE-LOG.html2 ...