为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Boot中静态资源等应该什么位置?

/ 猿问

Spring Boot中静态资源等应该什么位置?

杨魅力 2019-08-21 12:10:02

Spring Boot中静态资源等应该放在什么位置


查看完整描述

3 回答

?
qq_花开花谢_0

1. 默认位置:
Spring Boot能大大简化WEB应用开发的原因, 最重要的就是遵循“约定优于配置”这一基本原则。Spring Boot的关于静态资源的默认配置已经完全满足绝大部分WEB应用的需求。没必要去弄手续繁杂的自定义,用Spring Boot的约定就好了。
在Maven 工程目录下,所有静态资源都放在src/main/resource目录下,结构如下:
src/main/resource
|__________static
|_________js
|_________images
|_________css
.....

例如,imges目录下的demo.jpg 在HTML/JSP中访问是的路径就是<img src="/images/demo.jpg">, 因为Spring Boot的缺省工作目录就是src/main/java, 当访问资源时,就是src/main/resources, 而/static/**被SPRING BOOT被映射到了classpath:/static下。所以也可以不带起始的“/”,直接写成<img src="images/demo.jpg">。

以下代码示例为Hello World 加了个图片显示, 这里的demo.jpg在maven工程的位置存放就是src/main/resource/static/images/demo.jpg,
可用<img src="image/demo.jpg">访问
@Controller
//@EnableAutoConfiguration
public class HelloController {
@RequestMapping("/")
@ResponseBody
public String hello() {
return "hello world <img src=\"image/demo.jpg\">";
}
}

2. 添加自定义:
注意是添加,不是替换,添加不影响原来的默认约定。非要自定义,那就配置类继承WebMvcConfigurerAdapter
@Configuration
public class MyWebAppConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/myResource/**").addResourceLocations("classpath:/myResource/");
super.addResourceHandlers(registry);
}
}



查看完整回答
反对 回复 2019-08-24
?
手掌心
123web.upload-path=D:/temp/study13/ spring.mvc.static-path-pattern=/** spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,\  classpath:/static/,classpath:/public/,file:${web.upload-path}


默认情况是可以放到:resources、static、public,但通过我上面的配置还可以放到:D:/temp/study13/


更多Springboot文章可百度我昵称的中文部份


查看完整回答
反对 回复 2019-08-24
?
陪伴而非守候

src/main/resoures这个路径下的文件是在classpath下的,比如说这下面有一个
spring.xml ,在web.xml 里注册的话就是类似于

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/spring.xml</param-value>
</context-param>

查看完整回答
反对 回复 2019-08-24
  • 3 回答
  • 0 关注
  • 112 浏览
我要回答

相关问题推荐

慕课专栏
更多

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信