【SpringBoot】10 Web开发 Part1 静态资源
使用SpringBoot创建工程的方式:
1、在IDEA集成的Boot官网选项中点选可能需要的框架环境即可
2、SpringBoot已经设置好了这些场景,只需要配置文件中指定少量配置就可以运行起来
3、编写业务,不再关心配置的问题
创建Web工程
第一种点选Web创建
第二种:直接导入依赖
【第一种本质就是导入依赖,只不过是加了GUI设置,人性化一点】
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
开箱即用:
package cn.dai.web.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ResponseBody; /** * @author ArkD42 * @file SpringBootWeb * @create 2020 - 05 - 09 - 11:24 */ @Controller public class HelloController { @ResponseBody // 忽略视图解析器,直接返回字符串 @GetMapping("/hello") public String hello(){ return "Hello SpringBoot Web!!!"; } }
访问控制器
Boot对静态资源的映射规则:
通常来说,JavaWeb开发是有一个Web目录的存在
我们的页面,也就是静态资源和Java处理程序是分开存放的
现在在Boot里面,这些静态资源交给了resources保管
以webjars的方式放置资源
依赖获取网址
https://www.webjars.org/
Maven坐标引入和jar包查看
实际URL访问资源可以直接这样使用:
localhost:8080/工程名/webjars/jquery/3.5.1/jquery.js
非jar包则访问以下路径【静态资源路径访问】
- /** 访问所有路径
- classpath:/META-INF/resources/
- classpath:/resources/ 【也就是 resources/resources】
- classpath:/static/ 【也就是 resources/static】
- classpath:/public/ 【也就是 resources/public】
- / 当前工程的根路径
也就是说,在resources整个目录范围内和这三个目录内存放静态资源都有效
这些路径在URL访问时,是这样的
localhost/工程名/你存放在这些目录的资源
如果自定义了目录,就要再加上自己写的 目录 + 资源 这样
没设置工程名,默认就是8080完事了
探索静态资源的优先级关系
我们四个路径都设置同一个文件名称,测试访问这个文件到底是哪个
最先访问META-INF.resources中的
删掉再访问
再删掉访问
最后只剩下resources的文件时,不会被访问到。。。
首页设置
首页必须是index.html这样的文件和文件名称与后缀
然后必须放在public目录下,其他的不能被当成首页访问
图标Logo设置:
只需要把图片命名为favicon.icon,可以正常查看
然后放在静态资源目录里面即可
图标制作网站:http://www.bitbug.net/
几经测试,只有放在META-INF.resources下面的有效,
其他不知道是不是浏览器缓存问题