day0:配置静态资源映射,写登录页面

先来看看我昨天写的登录网页:
在这里插入图片描述真的是废了一番功夫,而且前端还有兼容性的问题,我在edge上仿着视频写得网页没有实现同样的 效果,半天不得解决方法,想着换个浏览器到qq浏览器就正常显示了。然后我就把这个在webstorm写好的网页连带需要的资源复制到了idea的项目里,其中html放在templates文件夹下,其他css,js放在static下自建的css,js文件夹下
在这里插入图片描述
在idea里打开login.html可以看到和webstorm差不多的东西:
在这里插入图片描述
这个时候点这些图标在浏览器上是显示不全的,因为这个时候网页里对静态资源的请求是不过tomcat服务器的,比如我网页里有一行

<script src="/js/jquery.min.js"></script>

在不经过tomcat服务器的情况下鬼知道 / 指的根目录是哪里,而且就算我这样写:

<script src="js/jquery.min.js"></script>

也需要在login.html的同级目录下有这个文件,像在webstorm里的目录结构一样,像上面那样写是因为springboot配置了默认的资源映射:

其中默认配置的 /** 映射到 /static (或/public、/resources、/META-INF/resources)
PS:上面的 static、public、resources 等目录都在 classpath: 下面(如 src/main/resources/static)。

所以我们的 /js/jquery.min.js会自动映射到classpath:static/js/jquery.min.js 怕有人不知道,classpath就是src/main/resources/

以后我们访问资源都是在web服务器上访问了,所以以后的路径都要在前面带一个 / 然后由springboot配置的资源映射器去映射路径。


不知道上面对静态资源怎么访问说清楚没有,然后讲讲对网页的访问,网页也是静态资源,在我们不知道什么模板引擎的情况下怎么访问login.html呢,上面已经说了spring默认配置的静态资源会去哪里找。就是下面五个地方:

classpath:/META-INF/resources/
classpath:/resources/
classpath:/static/
classpath:/public/
/:当前项目的根路径

而我们哪怕我们这样写

localhost:8080\bookmanage\src\main\resources\templates\login.html

由于bookmanage\src\main\resources\templates这一段和/**的 ** 匹配上了,所以springboot也会看看在上面的五个地方有没有,首先bookmanage这个文件夹就没有,所以会报错。
怎么办呢?我们可以更换默认的映射约定,通过我们自己的配置,由于springboot 通常如果自己配置的话那他自己的就全部失效了(这里就是),所以我们写把原来的五个全部写上再加上对templates文件夹的访问,就是在application.properties文件夹里这么写:

spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/templates/

然后我们就可以在地址栏这样访问我们的html文件了:

localhost:8080/login.html

是不是很爽😄

然后还有关于访问URL的映射,好像是和什么模板引擎有关的,等我学会了再告诉大家吧,再见!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值