spring boot框架学习之静态资源

本文介绍SpringBoot中如何引入静态资源,包括webjars和自定义资源,以及使用Thymeleaf进行动态页面渲染的方法。探讨了@Controller与@RestController的区别,详细解释了如何配置和使用Thymeleaf。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引入静态资源:

    webjars 将静态资源(js,css等)封装到了jar包里面,我们引入时只需要引入这些jar包,将依赖加入pom文件,依赖可以在webjars官网查找。访问从webjars开始写,如:http://localhost:8888/webjars/jquery/3.4.1/jquery.js

 

引入自己的静态资源,方式一:将自己写的静态资源打包为jars,再引入。

方式二:spring boot约定,spring boot将一些目录结构设置成静态资源存放路径,资源放入这些路径就可以,可以查找类WebMvcAutoConfiguration.addResourceHandlers下的默认静态资源路径(设置欢迎页,网站logo也可以在这里找到),如下:

 

 

 

设置网站logo:

默认图标名字是favicon.ico,放入任意静态资源目录

 

@Controller和@RestController的区别:

@Controller通过@requestmapping能映射到html文件(分两种),1.如果没有用thymeleaf写法是 return("*.html"),如果要返回json等数据使用Requestmapping + responsebody返回,而且html文件只能在前面说的静态目录下。2.如果使用了thymeleaf则只能写return("*"),*为文件名字,而且此时文件只能在thymeleaf配置的(默认templates)目录下,也可以返回通过return ("redirect:*.html")返回静态html。

更详细的代码

@Restcontroller相当于在每个方法前都添加了@Responsebody,其他情况和上面讲的类似,那么如果想要返回html页面怎么办呢?  可以使用modelandview类,此时类里面的情况还是和前面所讲的返回页面情况类似

使用thymeleaf:

springboot中使用动态页面需要使用thymeleaf来做,这是官方推荐的方法,需要注意就是之前提到的thymeleaf会使默认的静态配置失效,需要使用redirect:html但是这个已经是重定向(不是一个请求)的,和不使用thymeleaf情况不一样。不知道这个有什么好的解决方法,不过个人认为,这个不影响使用。

<dependency>

 <groupId>org.springframework.boot</groupId>

   <artifactId>spring-boot-starter-thymeleaf</artifactId>

</dependency>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值