【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下面的有效,

其他不知道是不是浏览器缓存问题


原文地址:https://www.cnblogs.com/mindzone/p/12856564.html