当我们使用 SpringMVC 框架时,静态资源会被拦截,需要添加额外配置,之前老有小伙伴在微信上问松哥 Spring Boot 中的静态资源加载问题:“松哥,我的 HTML 页面好像没有样式?”...这是我们传统的解决方案,在 Spring Boot 中,其实配置方式和这个一脉相承,只是有一些自动化的配置了。 2....这样大伙就知道了为什么 Spring Boot 中支持 5 个静态资源位置,同时也明白了为什么静态资源请求路径中不需要 /static ,因为在路径映射中已经自动的添加上了 /static 了。...(你看到的 Thymeleaf 模板虽然后缀为 .html,其实并不是静态资源)。...Boot2 系列教程(七)理解自动化配置的原理 8、Spring Boot2 系列教程(八)Spring Boot 中配置 Https 9、Spring Boot2 系列教程(九)Spring Boot
templates用来存放默认的模板配置路径 Spring MVC自动配置 Spring Boot为Spring MVC提供适用于多数应用的自动配置功能。...2、对静态资源的支持,包括对WebJars的支持。 3、自动注册Converter,GenericConverter,Formatter beans。...4、对HttpMessageConverters的支持。 5、自动注册MessageCodeResolver。 6、对静态index.html的支持。...尽管该文件夹是一个共同的标准,但它仅在打包成war的情况下起作用,并且如果产生一个jar,多数构建工具都会忽略它 默认资源映射 Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration...建议大家使用Spring Boot的默认配置方式,提供的静态资源映射如下: classpath:/META-INF/resources classpath:/resources classpath:/static
解决的问题领域是网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。 Spring Boot的功能Spring Boot实现了自动配置,降低了项目搭建的复杂度。...你可以设置spring.resources.staticLocations属性自定义静态资源的位置(配置一系列目录位置代替默认的值),如果你这样做,默认的欢迎页面将从自定义位置加载,所以只要这些路径中的任何地方有一个...以下的配置为所有的静态资源提供一种缓存清除(cache busting)方案,实际上是将内容hash添加到URLs中,比如spring-2a2d595e6ed9a0b24f027f2b63b134d6...查看ResourceProperties获取更多支持的选项。 欢迎页面 Spring Boot支持静态和模板欢迎页面。它首先index.html在配置的静态内容位置中查找 文件。...错误处理 Spring Boot默认提供一个/error映射用来以合适的方式处理所有的错误,并将它注册为servlet容器中全局的 错误页面。
28.1.1 Spring MVC自动配置 Spring Boot为Spring MVC提供了自动配置,适用于大多数应用程序。...Spring Boot还支持Spring MVC提供的高级资源处理功能,允许使用缓存破坏静态资源等用例或使用与Webjars无关的URL。...其他模板引擎目前不是自动支持的,但可以使用自定义模板宏/帮助程序和使用 ResourceUrlProvider 。 使用(例如)JavaScript模块加载器动态加载资源时,不能重命名文件。...28.1.6欢迎页面 Spring Boot支持静态和模板化的欢迎页面。它首先在配置的静态内容位置中查找 index.html 文件。如果找不到,则会查找 index 模板。...如果 找到任何一个,它将自动用作应用程序的欢迎页面。 28.1.7自定义Favicon Spring Boot在配置的静态内容位置和类路径的根(按此顺序)中查找 favicon.ico 。
Spring MVC 的角色功能:Spring MVC 是一个基于 Servlet 的轻量级 MVC 框架,专注于解决 Web 应用开发中的问题。提供 URL 路由、模板引擎支持、静态资源处理 等。...例如,Spring Boot 可以通过自动配置完成 Spring MVC 的基本设置,如静态资源路径、内容协商等。...国际化支持:自动配置 MessageCodeResolver。静态资源:默认静态资源路径包括 /static、/public 等。支持缓存清除策略(例如版本哈希)和 WebJars 动态加载。...:Spring Boot 自动将 classpath:/static/、classpath:/public/ 等目录下的资源映射到 /static/**。...通过上述分析可以看出,Spring Boot 的自动装配机制免去了手动配置的繁琐步骤。原因总结如下:默认约定:Spring Boot 提供了一系列合理的默认配置(例如默认的视图解析器和静态资源映射)。
2、对静态资源的映射规则 "classpath:/static" //默认静态资源目录 "classpath:/public" "classpath:/META-INF/resourcess"//配置文件目录..."/"//默认是工程根目录 3、通过自带的创建器创建web工程 1、静态资源文件下一般是放置index.html这类页面,因为它会通过"/**"映射 localhost:8080/index.html...访问 4、模板引擎 前边介绍是是springboot加载静态资源文件时的方法 ,但在实现开发中我们需要实现一些动态的资源文件,原来传统方法是jsp文件但springboot默认使用的jar方法 ,不支持... 2、thymeleaf 前提是将thml页面资源文件下才能被thymeleaff进行渲染; 1、在具体html中必须导入thymeleaf的名称空间...Spring MVC 为您提供了完全控制应用程序的各个方面的力量。 上面这些大家可以自动百度了解一下。
Spring Boot提供的自动配置 通过查看WebMvcAutoConfiguration和WebMvcProperties的源码可以发现自动配置。...自动配置类为addResourceHandlers方法中定义了以下资源的静态配置。...1.2.1类路径文件 把类路径下的/static、/public、/resources和/META-INF/resources文件夹下的静态文件直接映射为/,可以通过http://localhost:8080...把webjar的/META-INF/resources/webjars/下的静态文件映射为/webjar/,可以通过http://localhost:8080/webjar/来访问。...方法,并不会覆盖WebMvcAutoConfiguration中的addViewControllers方法,即自己配置和Spring Boot的自动配置同时有效。
/using-spring-boot.html#using-boot-starter 见到的 *-spring-boot-starter: 第三方为我们提供的简化开发的场景启动器。...虽然我们127个场景的所有自动配置启动的时候默认全部加载。 META-INF/spring.factories文件中:xxxxAutoConfiguration 2....: 当前项目根路径/ + 静态资源名 原理: 静态映射 /**。...index.html 可以配置静态资源路径 但是不可以配置静态资源的访问前缀。.../index.html,可以访问index.html文件 直接访问根路径,404 注释配置静态资源的访问前缀 重启服务,访问根路径 6.3 自定义 Favicon favicon.ico 放在静态资源目录下即可
Spring Boot 中的资源管理 在 Spring Boot 中,所有的资源文件,如 application.properties、application.yml、静态文件(例如 .html, .js...Spring Boot 自动扫描 resources 目录中的文件,并将它们作为 classpath 中的资源进行加载。...Spring Boot 启动过程: Spring Boot 会自动识别 JAR 包中的 BOOT-INF/classes 目录,并将其作为类路径加载。...配置文件、静态资源和模板文件都会从 BOOT-INF/classes 中加载,确保应用的资源正确加载。 6. 资源加载的机制 Spring Boot 在启动时会通过类加载器加载 JAR 文件中的资源。...Spring Boot 使用 Maven 构建时,spring-boot-maven-plugin 会自动处理资源文件的拷贝和组织,确保它们能够在应用程序启动时被正确加载。
静态页面: 在resources建立一个static目录和index.htm静态文件,访问地址 http://localhost:8080/index.html spring boot项目只有src...目录,没有webapp目录,会将静态访问(html/图片等)映射到其自动配置的静态目录,如下 /static /public /resources /META-INF/resources 如果要从后台跳转到静态... templates目录为spring boot默认配置的动态页面路径 package hello; import javax.servlet.http.HttpServletRequest...页面,而前端人员给的index.html中其中一个超链接是car,页面不好改动,但是不改动,这样写访问的是static中的静态页面,要怎么设置才能访问同一templates...:path 属性:view-name 第三个是:访问http://localhost:8080/templates页面之后,页面之后引入了static目录中的css,js等等静态资源,可是页面访问不到
/spring.factories中获取EnableAutoConfiguration的值(各种配置类的全限定类名),作为自动配置类导入容器中,那么自动配置类生效帮我们自动配置,其真正配置类也在这个包下...,DataSourceProperties是个映射properties的bean类 我们需要熟悉自动配置原理,然后才可以很好地书写配置文件 静态资源的映射规则 在webMvcAutoConfiguration...).findFirst(); 所以: localhost:8080/ 默认找资源类路径下的 index.html文件 图标也一样;静态资源下找 /favicon.ico 8....SpringMVC 自动配置 配置了ViewResolver视图解析器 配置了webjars解析 support 静态资源文件路径、webjars support 静态首页访问 index.html support...EnableConfigurationProperties()注解,即与映射的配置文件绑定,即主配置文件中可修改 自动配置类中以tomcat为例 @Configuration @ConditionalOnClass
自动配置 Spring Boot 为 Spring WebFlux 提供的自动配置基本能适用于大多数应用。...Spring Boot 的提供的自动配置主要做了以下两个工作: 为 HttpMessageReader 和 HttpMessageWriter 实例配置 HTTP 编解码器 支持服务静态资源映射,包括对...静态资源 Spring Boot 默认从类路径的以下目录(/static、 /public 、/resources 、/META-INF/resources)加载静态资源,当然,你可以自定义配置类实现...Boot 默认将静态资源映射在 /** 的路径下,当然,你可以通过修改 spring.webflux.static-path-pattern 属性来调整默认映射,例如,将所有资源映射到 /resources...因此,在你的资源目录中,只要有一个 index.html 页面,都将会成为你的应用主页。 除了前面介绍的标准静态资源外,还有一种特殊的情况,那就是 webjars 内容。
一、Spring Boot 中的 Web 开发 使用IDEA创建项目Spring Boot项目spring-boot-restful,选择基本的Web依赖和Thymeleaf模板引擎依赖。...Spring Boot已经的自动配置已经完成了大量的配置,我们只需要少量的配置就可以完成一个Web工程的创建。...Spring Boot中大量的XxxAutoConfiguration自动配置类完成,可以自定义的配置全部在XxxProperties配置类中。...Spring Boot对静态资源的映射规则 公共静态资源访问方式 Spring Boot 的 Web自动配置类是 org.springframework.boot.autoconfigure.web.servlet...Boot 欢迎页 Spring Boot 中的WelcomePageHandlerMapping类中定义了欢迎页的配置 也就是说 / 路径会转发到 静态资源文件夹下的index.html页面上 在浏览器输入
二、静态资源的映射规则 现在大部分公司都是前后端分离的开发模式,一般作为后台开发不用关心前端,只需要提供相应接口,但是有关前端的知识我们最好还是能基本掌握一些。...在之前的web开发中,在main目录下面会有webapp文件夹,我们将所有的静态资源放在里面,但是springboot的默认生成中并没有这个文件夹,那么springboot是怎么映射静态资源。...webjars是指以jar包的方式引入静态资源。...另外当访问当前项目的任何资源,都去(静态资源的文件夹)找映射,资源文件夹是一个数组,包括: "classpath:/META-INF/resources/", "classpath:/resources...只要将静态文件放入其中,那么springboot就能找到。 2.3 首页 在访问"/**",会去找静态资源文件夹下的所有index.html页面。
编写业务代码 自动配置原理: xxxAutoConfiguration:帮我们给容器中自动配置组件 xxxProperties:配置类来封装配置文件的内容 1)SpringBoot对静态资源的映射规则.../webjars/中寻找资源webjars:以jar包的方式引入静态资源 ?...:/static/", "classpath:/public/" "/":当前项目的根路径 欢迎页:静态资源文件夹下的所有index.html页面 被"/**" 映射访问:localhost:8080.../ 便会去静态资源文件夹下找index页面 *所有的 */favicon.ico 都是在静态资源文件下找 2)模板引擎 市面上常见的模板引擎: JSP Velocity Freemarker Thymeleaf...,自动的将以下组合进来 webjars:静态资源文件夹路径 Static index.html suppor:静态首页访问 favicon.ico:个性化图标 Converter:类型转换器 Formatter
templates文件夹和static文件夹中 要将 "/" 映射到templates下的index.html页面,可以新建一个HelloController,并新增一个方法将“/”映射到index.html...,最好是能像SSM中Spring MVC配置文件中配置映射;这时候就可以使用到配置类。...二、Spring Boot 国际化配置 Spring MVC 如何进行国际化配置的步骤 编写国际化配置文件 使用ResourceBundleMessageSource管理国际化资源文件 JSP页面导入fmt...,进入中文国际化配置文件 点击ok之后 就可以填写默认显示的内容和中文英文状态显示的内容 接着将这五项全部配置国际化既添加国际化内容 Spring Boot中包含了自动配置类MessageSourceAutoConfiguration...,只要容器中有了自定义的区域解析器,Spring Boot自动配置的去解析器就不会导入容器中,自然也就不会生效了。
使用webjars 首先SpringBoot的有个叫webjars的东西,所有通过pom.xml引入的静态资源,都在/webjars/**下(这个在静态资源的自动配置类中可以找到),也就是说SpringBoot...这个时候就需要另外一个映射规则就是/**(也就是说,我们通过http://localhost:8080/xxx.js访问静态资源,如果我们没有配置相关,就会默认去下面这几个文件夹中找)用来配置映射,即可访问当前项目下的任何资源...配置欢迎页映射 静态资源文件夹下的所有index.html页面,会被/映射; 也就是说我们直接访问http://localhost:8080/就直接访问静态资源文件夹中的index.html,相当于我们以前...SpringBoot默认的静态资源文件夹,我们还可以定义静态资源的映射,如下 要注意了,如果自己定义了静态资源映射之后,默认的文件夹就都不生效了,相当于原来的那些访问方式都不生效了。...Spring Boot为Spring MVC提供了自动配置,可与大多数应用程序完美配合。
这个类中进行配置,因此静态资源位置的映射也是在这个类中完成的,如下,即是配置静态资源映射的方法 @Override public void addResourceHandlers(ResourceHandlerRegistry...这个url查询到指定的文件,这个就是相对于上面springBoot自动配置的webjars的映射位置 其他静态资源的引入 1、除了映入webjars这个静态资源,我们还有自定义的css和js文件,那么我们也必须有一个位置放置这些资源...,让springBoot能够访问到 2、/**是用来访问当前项目的任何资源,主要的就是静态文件夹,默认映射的位置如下: 1)、classpath : 指定的是java和resources文件夹...配置首页 1、在springBoot中,首页也为我们自动配置了存放的位置 2、我们只需把首页index.html放置在静态资源文件夹下即可访问,比如我们放一个index.html在static文件夹下,...直接访问http://localhost:8080/这个即可自动跳转首页 配置小图标 1、我们可以放置一个favicon.ico图片在静态资源文件夹下,那么即可自动为我们的页面配置上小图标 自定义静态资源存放位置
[logo.jpg] 【WEB 系列】WebFlux 静态资源配置与访问 上一篇博文介绍 SpringMVC 的静态资源访问,那么在 WebFlux 中,静态资源的访问姿势是否一致呢 的,因为它所在的目录并不在默认的四个静态资源路径中 2....Url 映射 上面是直接通过静态资源文件名的方式进行访问,那么 WebFlux 是否可以实现 SpringMVC 那种,根据视图名返回 View 的方式呢?...通过修改配置spring.resources.static-locations 指定新的静态资源目录无效 在 WebFlux 中,推荐使用实现WebFluxConfigure接口的方式,重写addResourceHandlers...方法来自定义资源路径映射 也可以针对单独的静态资源,借助@Value来手动路由 II.
领取专属 10元无门槛券
手把手带您无忧上云