springboot项目访问静态资源的配置代码实例

这篇文章主要介绍了springboot项目访问静态资源的配置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这里只是简单记录当上传图片不是放在tomcat其他服务器中时,只是放在磁盘中便可以这样配置,在项目启动后可以访问到磁盘中的资源。

@Configuration
public class SystemConfigurer implements WebMvcConfigurer {

  @Value("${jeewx.path.upload}")
  private String upLoadPath; //配置的文件的存储位置如 “E://image”
  @Value("${spring.resource.static-locations}")
  private String staticLocations; //其他静态资源位置,如js,css文件

  /**默认拦截器排除资源*/
  private List<String> EXCLUDE_PATHS= Arrays.asList("/plug-in/**","/content/**","/upload/**","/system/*.do","/error");
  @Autowired
  private LoginInterceptor loginInterceptor;
  @Autowired
  private AccessSignInterceptor accessSignInterceptor;

  @Value("${jeewx.interceptor.is-open}")
  private boolean isOpen;
  @Value("${jeewx.interceptor.excludeUrls.login-interceptor}")
  private String loginInterceptorExcludeUrls;
  @Value("${jeewx.interceptor.excludeUrls.access-sign-interceptor}")
  private String accessSignInterceptorExcludeUrls;

   /**
   * 静态资源的配置 - 使得可以从磁盘中读取 Html、图片、视频、音频等
   */
  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/**")
        .addResourceLocations("file:" + upLoadPath + "//")
        .addResourceLocations(staticLocations.split(","));
  }
/** * 登录验证码 */ @Bean @SuppressWarnings({ "rawtypes", "unchecked" }) public ServletRegistrationBean randCodeImageServlet() { ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new RandCodeImageServlet(), "/randCodeImage"); return servletRegistrationBean; } /** * 拦截器(登录 + 签名) */ public void addInterceptors(InterceptorRegistry registry) { if(isOpen) { log.info("loginInterceptorExcludeUrls: "+loginInterceptorExcludeUrls); log.info("accessSignInterceptorExcludeUrls: "+accessSignInterceptorExcludeUrls); registry.addInterceptor(loginInterceptor).addPathPatterns("/**/back/**/*").excludePathPatterns(EXCLUDE_PATHS).excludePathPatterns(loginInterceptorExcludeUrls.split(",")); registry.addInterceptor(accessSignInterceptor).addPathPatterns("/**").excludePathPatterns("/**/back/**").excludePathPatterns(EXCLUDE_PATHS).excludePathPatterns(accessSignInterceptorExcludeUrls.split(",")); } } /** * 默认跳转登录页面 */ @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/").setViewName("redirect:/system/login.do"); registry.setOrder(Ordered.HIGHEST_PRECEDENCE); } }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • springboot如何获取相对路径文件夹下静态资源的方法

    今日遇到一个问题:springboot需要获取到一个自定义名称文件夹下的静态资源(图片等),并且文件夹的路径不在classPath下面,而是一个相对路径. 一开始使用修改配置文件的方式: # 配置静态资源访问前缀 spring.mvc.static-path-pattern=*/** # 配置静态资源路径,默认配置失效 spring.resources.static-locations=../upload 发现并不行,无法解析出相对路径. 后面通过自定义静态资源映射配置类实现了: @Config

  • SpringBoot静态资源css,js,img配置方案

    一.概述 springboot 默认静态资源访问的路径为:/static 或 /public 或 /resources 或 /META-INF/resources 这样的地址都必须定义在src/main/resources目录文件中,这样可以达到在项目启动时候可以自动加载为项目静态地址目录到classpath下 ,静态访问地址其实是使用 ResourceHttpRequestHandler 核心处理器加载到WebMvcConfigurerAdapter进行对addResourceHandlers

  • spring boot中的静态资源加载处理方式

    1.spring boot默认资源处理 Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性. spring boot默认加载文件的路径是: /META-INF/resources/ /resources/ /static/ /public/ 这些目录下面, 当然我们也可以从spring boot源码也可以看到Java代码: private static final String[] CLASSPATH_RESOURCE_L

  • Spring boot 默认静态资源路径与手动配置访问路径的方法

    在application.propertis中配置 ##端口号 server.port=8081 ##默认前缀 spring.mvc.view.prefix=/ ## 响应页面默认后缀 spring.mvc.view.suffix=.html # 默认值为 /** spring.mvc.static-path-pattern=/** # 这里设置要指向的路径,多个使用英文逗号隔开,默认值为 classpath:/META-INF/resources/,classpath:/resources/,

  • SpringBoot静态资源目录访问

    静态资源配置 创建一个StaticConfig 继承 WebMvcConfigurerAdapter package com.huifer.blog.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframewo

  • SpringBoot加载静态资源的方式

    在SpringBoot中加载静态资源和在普通的web应用中不太一样.默认情况下,spring Boot从classpath下一个叫/static(/public,/resources或/META-INF/resources)的文件夹或从ServletContext根目录提供静态内容.下面我们来写个例子看一下就会一目了然了:首先看一下项目的目录结构: 我们在resources下面的templates目录下建一个home.html的文件,完整目录为:src/main/resources/templa

  • Spring Boot 静态资源处理方式

    Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性. 建议大家使用Spring Boot的默认配置方式,如果需要特殊处理的再通过配置进行修改. 如果想要自己完全控制WebMVC,就需要在@Configuration注解的配置类上增加@EnableWebMvc(@SpringBootApplication 注解的程序入口类已经包含@Configuration),增加该注解以后WebMvcAutoConfiguration中配

  • springboot操作静态资源文件的方法

    默认静态资源供 SpringBoot有几个默认的静态资源目录,当然也可配置,默认配置的/**映射到/static(或/public ,/resources,/META-INF/resources),自定义配置方式如下: spring.mvc.static-path-pattern=/** # Path pattern used for static resources. 前端如果需要访问默认的静态资源,下面有点要注意,考虑下面的目录结构: └─resources │ application.ym

  • spring boot 自定义规则访问获取内部或者外部静态资源图片的方法

    项目中需要将图片放在磁盘上,不能将图片放在webapp下面! springboot默认配置基本上可以满足我们的日常需要.但是项目中大量用户上传的图片,不能放在tomcat下面,这样子每次重新部署项目的时候,图片就失效了,很是麻烦. 所以此时就需要自定义配置springboot的项目静态文件映射 springboot默认的配置规则 映射 /** 到 classpath:/static classpath:/public classpath:/resources classpath:/META-IN

  • springboot项目访问静态资源的配置代码实例

    这篇文章主要介绍了springboot项目访问静态资源的配置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 这里只是简单记录当上传图片不是放在tomcat其他服务器中时,只是放在磁盘中便可以这样配置,在项目启动后可以访问到磁盘中的资源. @Configuration public class SystemConfigurer implements WebMvcConfigurer { @Value("${jeewx.path.uploa

  • SpringBoot访问静态资源的配置及顺序说明

    目录 访问静态资源的配置及顺序 1. SpringBoot的默认配置 2. 测试 3.配置 静态资源的配置心得 举例 访问静态资源的配置及顺序 今天在玩SpringBoot的demo的时候,放了张图片在resources目录下,启动区访问的时候,突然好奇是识别哪些文件夹来展示静态资源的, 为什么有时候放的文件夹不能显示,有的却可以. 1. SpringBoot的默认配置 首先我们打开WebMvcAutoConfiguration类, 因为是静态资源的位置, 所以搜索location,找到这一行代

  • 详解SpringBoot之访问静态资源(webapp...)

    springboot访问静态资源,默认有两个默认目录, 一个是  classpath/static 目录 (src/mian/resource) 一个是 ServletContext 根目录下( src/main/webapp ) 这在里可能有小伙伴对 classpath 不怎么了解,这里简要的介绍下,classpath 即WEB-INF下面的classes目录 ,在springboot项目中可能就是,src/main/resource 目录. 1,classpath 目录下-访问默认文件夹名为

  • SpringBoot中的静态资源访问的实现

    一.说在前面的话 我们之间介绍过SpringBoot自动配置的原理,基本上是如下: xxxxAutoConfiguration:帮我们给容器中自动配置组件: xxxxProperties:配置类来封装配置文件的内容: 二.静态资源映射规则 1.对哪些目录映射? classpath:/META-INF/resources/ classpath:/resources/ classpath:/static/ classpath:/public/ /:当前项目的根路径 2.什么意思? 就我们在上面五个目

  • 解决springboot 2.x 里面访问静态资源的坑

    目录 springboot 2.x 里面访问静态资源的坑 首先看一下 自动配置类的定义: 如果想要使用自动配置生效 SpringBoot2.x过后static下的静态资源无法访问 springboot 2.x 里面访问静态资源的坑 在spring boot的自定义配置类继承 WebMvcConfigurationSupport 后,发现自动配置的静态资源路径 classpath:/META/resources/,classpath:/resources/,classpath:/static/,c

  • springboot访问静态资源遇到的坑及解决

    目录 访问静态资源遇到的坑及解决 直接访问静态资源的问题 SpringBoot 默认静态资源访问配置 引入shiro 或 security后的拦截过滤 访问静态资源遇到的坑及解决 开始是以这种结构进行的,结果页面上一篇红,访问的页面是这样的 最终找出来问题,虽然每次调整路径都不对,最终查看多种方法可以看到了: 增加: package com.example.demo.config; import org.springframework.stereotype.Component; import o

  • SpringBoot项目启动时如何读取配置以及初始化资源

    介绍   在开发过程中,我们有时候会遇到非接口调用而出发程序执行任务的一些场景,比如我们使用quartz定时框架通过配置文件来启动定时任务时,或者一些初始化资源场景等触发的任务执行场景. 方法一:注解 方案   通过使用注解@Configuration和@Bean来初始化资源,配置文件当然还是通过@Value进行注入. @Configuration:用于定义配置类,可替换xml配置文件,被注解的类内部一般是包含了一个或者多个@Bean注解的方法. @Bean:产生一个Bean对象,然后将Bean

  • Spring Boot访问静态资源css/js,你真的懂了吗

    一.前言 我们用 Spring Boot 搭建 Web 应用时(如搭建一个博客),经常需要在 Html 中访问一些静态资源,比如: css 样式: js 脚本: favicon.ico 图标等: 而在 Spring Boot 中如果没有做任何配置,是无法直接访问静态资源的,通常会报 404 错误: 二.Spring Boot 访问静态资源的默认目录 Spring Boot 访问静态资源,默认有两个默认目录: classpath/static 目录:src/mian/resource Servle

  • 基于SpringBoot启动类静态资源路径问题

    目录 SpringBoot启动类静态资源路径 SpringBoot核心配置类 分别是一下四个静态资源路径 静态文件存放位置设置 默认配置 自定义位置 SpringBoot启动类静态资源路径 SpringBoot核心配置类 SpringBoot核心JAR包-->spring-boot-autoconfigure-2.2.6.RELEASE.jar 其下面有-->org.springframework.boot.autoconfigure.web 其中有类-->ResourcePropert

  • springboot中的静态资源加载顺序优先级

    目录 springboot静态资源加载顺序优先级 看springboot源码里面 springboot静态资源加载规则 一.静态资源映射规则 1.webjars 2.springboot内置默认访问路径 3.首页处理 4.网站图标 springboot静态资源加载顺序优先级 看springboot源码里面 springboot静态资源加载规则 我们经常会使用springboot创建web应用,在springboot中金静态资源是如何存放的呢? 一.静态资源映射规则 我们先创建一个springbo

随机推荐