当前位置:首页 » 存储配置 » 静态资源的访问有哪些配置

静态资源的访问有哪些配置

发布时间: 2023-07-24 13:51:11

① Spring Boot之如何配置静态资源的地址与访

静态资源,例如HTML文件、JS文件,设计到的Spring Boot配置有两项,一是“spring.mvc.static-path-pattern”,一是“spring.resources.static-locations”,很多人都难以分辨它们之间的差异,所以经常出现的结果就是404错误,无法找到静态资源。
1. “spring.mvc.static-path-pattern”
spring.mvc.static-path-pattern代表的含义是我们应该以什么样的路径来访问静态资源,换句话说,只有静态资源满足什么样的匹配条件,Spring Boot才会处理静态资源请求,以官方配置为例:
# 这表示只有静态资源的访问路径为/resources/**时,才会处理请求
spring.mvc.static-path-pattern=/resources/**,
假定采用默认的配置端口,那么只有请求地址类似于“http://localhost:8080/resources/jquery.js”时,Spring Boot才会处理此请求,处理方式是将根据模式匹配后的文件名查找本地文件,那么应该在什么地方查找本地文件呢?这就是“spring.resources.static-locations”的作用了。
2. “spring.resources.static-locations”
“spring.resources.static-locations”用于告诉Spring Boot应该在何处查找静态资源文件,这是一个列表性的配置,查找文件时会依赖于配置的先后顺序依次进行,默认的官方配置如下:
spring.resources.static-locations=classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources
继续以上面的请求地址为例,“http://localhost:8080/resources/jquery.js”就会在上述的四个路径中依次查找是否存在“jquery.js”文件,如果找到了,则返回此文件,否则返回404错误。
3. 静态资源的Bean配置
从上面可以看出,“spring.mvc.static-path-pattern”与“spring.resources.static-locations”组合起来演绎了nginx的映射配置,如果熟悉Spring MVC,那么理解起来更加简单,它们的作用可以用Bean配置表示,如下:
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**")
.addResourceLocations("/public-resources/")
.setCacheControl(CacheControl.maxAge(1, TimeUnit.HOURS).cachePublic());
}
}
或者等同与以下的XML。
<mvc:resources mapping="/resources/**" location="/public-resources/">
<mvc:cache-control max-age="3600" cache-public="true"/>
</mvc:resources>
结论
“spring.mvc.static-path-pattern”用于阐述HTTP请求地址,而“spring.resources.static-locations”则用于描述静态资源的存放位置。

javaweb项目如何访问静态资源

1 在spring框架下,如果让mvc拦截所有路径,需要配置静态资源路径:

<mvc:resourceslocation="/image"mapping="image/**"/>
<mvc:resourceslocation="/css"mapping="css/**"/>

现在一般都使用rest风格接口, 即mvc拦截/rest/**请求, 所以只要把静态文件放在其他路径就可以了

2 原生servlet,struct2 直接访问即可

③ Spring Boot自定义静态资源映射

0、基础html页面

注意将不同demo的序号按文件修改即可, demo01.html 内容如下:

1、Spring Boot项目静态资源默认访问路径

2、在IDEA中对应的路径

访问方法: http://localhost:8080/demo01.html ,如下:

3、优先级顺序

Ⅰ classpath:/META-INF/resources
→ Ⅱ classpath:/resources
→ Ⅲ classpath:/static
→ Ⅳ classpath:/public

1、配置文件配置

Ⅰ 此处是覆盖原有配置的,所以默认路径不能漏掉,假设删除原有路径映射,如下:

可以看到此时正常访问的为,demo01和demo05,如下:

注意: 如此配置原有配置仅剩 classpath:/META-INF/resources 还生效。

Ⅱ 静态文件请求匹配方式

修改后访问路径 http://localhost:8080/test/demo05.html ,访问如下:

2、WebMvcConfigurationSupport配置

注意: 此种配置下,原有的静态资源路径被覆盖、失效。

以上即为Spring Boot自定义静态资源映射的全部内容,感谢阅读。

④ springboot静态资源访问问题

1.springboot访问静态资源的几种方式
(1)在src/main/resources/目录下创建
static文件夹
(2)在src/main/resources/目录下创建
resources文件夹
(3)在src/main/resources/目录下创建
public文件夹
(4)在src/main/resources/目录下创建
META-INF/resources文件夹

---------------------

本文来自 吴锦涛1 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_34797335/article/details/80194137?utm_source=

⑤ Spring MVC 直接访问 WEB-INF下的静态页面怎么在配置文件中配置,求大神解答

注意配置的时候如下规则

1、页面jsp(html等)的访问必须走controller的访问和跳转

2、css、js等可以直接通过地址去访问不需要走后台控制器

3、怎么处理的,可以配置访问限制。也就是放开对css、js等静态资源的访问,动态资源(.jsp用控制器去访问),参考连接网页链接

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:432
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:743
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:537
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:146
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:235
java驼峰 发布:2025-02-02 09:13:26 浏览:651
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:538
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726