原文网址:SpringBoot--访问静态页面_IT利刃出鞘的博客-CSDN博客

简介

位置与优先级

位置

spring boot的静态资源:

  • static目录:css、js、图片等
  • templates目录:html页面

优先级

spring boot默认将/**静态资源访问映射到以下目录:

classpath:/static
classpath:/public
classpath:/resources
classpath:/META-INF/resources

这四个目录的访问优先级:META-INF/resources > resources > static > public

即:这四个路径下如果有同名文件,则会以优先级高的文件为准。

其对应的配置方法为:application.yml。默认配置如下:

spring:
  web:
    resources:
      static-locations: classpath:/META-INF/resources/, classpath:/resources/, classpath:/static/, classpath:/public/

其实,它还与application.yml的下边这个配置有关,两者联合起来控制路径

spring:
  mvc:
    static-path-pattern: /**

HTML放置位置的区别

HTML文件放到templates目录下

推荐将html页面放置在templates目录,原因如下:

templates目录下的html页面不能直接访问,需要通过服务器内部进行访问,可以避免无权限的用户直接访问到隐私页面,造成信息泄露。

HTML文件放到static目录下

这样用户可以通过两种方法获得到html页面:

  1. 直接访问.html资源
  2. 通过controller跳转

就像上边说的一样,当直接访问.html资源时,用户可以访问到无权访问的页面。

HTML存放于templates目录(推荐)

其他网址

spring boot访问templates目录下的html静态页面_记忆储存处的博客-CSDN博客
SpringBoot项目中访问HTML页面-CSDN博客_springboot项目访问html页面

步骤1:引入thymeleaf 依赖

<!--访问静态资源-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

步骤2:写一个简单的HTML,放置到templates路径

<!doctype html>
<html lang="en"><head><meta charset="UTF-8"><title>this is title</title>
</head><body><div>这是templates的demo
</div></body>
</html>

步骤3:编写Controller

package com.example.demo.views;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
@RequestMapping("view")
public class ViewController {@GetMapping("demo")public String demo() {return "demo";}
}

需要注意:必须使用@Controller,不能使用@RestController。

因为@RestController返回的是  JSON,且不走SpringMVC的视图解析流程,所以跳不到html那里。

测试

访问:Node Exporter  (我端口配成了9100,没有配置其他东西)

HTML存放于static目录(不推荐)

法1:直接访问.html资源

其他网址

SpringBoot项目中访问HTML页面-CSDN博客_springboot项目访问html页面

步骤1:将html放到static目录

<!doctype html>
<html lang="en"><head><meta charset="UTF-8"><title>this is title</title>
</head><body><div>这是static的demo
</div></body>
</html>

测试

访问:Node Exporter(我端口配成了9100,没有配置其他东西)

法2:通过controller跳转

其他网址

spring boot web,配置可以直接访问静态html_u011649691的博客-CSDN博客
SpringBoot访问html和js等静态资源配置_祗是辉哥哥的博客-CSDN博客

步骤1:确保没有thymeleaf依赖

步骤2:将html放置到static路径

<!doctype html>
<html lang="en"><head><meta charset="UTF-8"><title>this is title</title>
</head><body><div>这是static的demo
</div></body>
</html>

步骤3:编写controller

package com.example.demo.views;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
@RequestMapping("view")
public class ViewController {@GetMapping("demo")public String demo() {return "/demo.html";}
}

注意:返回的字符串前边必须带“/” 。

测试

访问:Node Exporter   (我端口配成了9100,没有配置其他东西)

说明

也可以如下操作,结果是一样的:

application.yml配置前后缀:

spring.mvc.view.prefix=/
spring.mvc.view.suffix=.html

controller这样写:

package com.example.demo.views;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
@RequestMapping("view")
public class ViewController {@GetMapping("demo")public String demo() {return "demo";}
}

HTML引入JS

其他网址

springboot项目中如何引用Jquery文件_小白一个-CSDN博客
SpringBoot的html页面引入jquery,layui_K881009的博客-CSDN博客

SpringBoot--访问静态页面相关推荐

  1. springboot访问静态页面404_解决 springboot 2.x 访问静态资源 404的问题

    首先确定资源路径正确. 如果静态路径正确,访问报以下问题 3. 解决方法,重写WebMvcConfigurer里的 addResourceHandlers方法. @Configurationpubli ...

  2. Spring Boot 访问静态页面!

    SpringBoot访问静态页面 一.静态页面放在templates下面(多个页面可以添加相应的文件夹,方便管理): 二.配置Controller 这里有两点值得注意: 其一:类注解不能用RestCo ...

  3. Springboot访问静态文件的问题(WebContent)

    Springboot访问静态文件的问题 前言 1.创建WebContent并在Facets中配置后依旧无法访问任何资源 ①没有配置Working Directories ②配置好Working Dir ...

  4. SpringBoot访问静态资源文件(css、js、images)

    (1)引入静态资源时,错误解决方法 在做SpringBoot访问静态资源文件(css.js.images)时候,发现总是报错: 以为是路径中没有添加static,所以路径又添加static,再次访问如 ...

  5. Springboot访问jsp页面但是却变成下载该页面

    Springboot访问jsp页面但是却变成下载该页面 缺少jsp解析的依赖,加上即可 <!--jsp解析器依赖--><dependency><groupId>or ...

  6. 通过Nginx访问静态页面

    通过Nginx访问静态页面 转载请标明出处^_^ 原文首发于:www.zhangruibin.com 本文出自于:RebornChang的博客 nginx的用途 处理静态文件,索引文件以及自动索引:打 ...

  7. SpringBoot访问静态资源(图片)

    SpringBoot中的静态资源访问 springboot访问静态资源的几种方式 (优先级从高到低) (1)在src/main/resources/目录下创建 META-INF/resources文件 ...

  8. SpringMVC访问静态页面

    Spring MVC显示静态页面 在前面搭建spring MVC环境时,我们设置了spring-mvc配置,通过tomcat来访问了index.jsp  页面,但是当我将页面换成.thml的静态面之后 ...

  9. SpringBoot访问静态资源

    SpringBoot-----SpringBoot访问静态资源 文章目录

  10. springboot访问jsp页面变成直接下载?

    大家好,我是雄雄,欢迎关注微信公众号[雄雄的小课堂]. 前言 大家在写springboot的时候不知道你们遇没遇到过这样的问题,当我们满怀信心的在浏览器中输入:localhost://8080/def ...

最新文章

  1. 用mendeley在word中插入文献_Mendeley在Word添加工具栏和插入和删除文献的方法 | 科研动力...
  2. Windows Phone 7的启动器和选择器
  3. AD5933使用外部时钟获得更低的分析频率
  4. python写web难受-python写web
  5. strstr和memcmp函数的实现
  6. springmvc_3(将数据放入map中)
  7. 【LeetCode笔记】19.删除链表的倒数第N个结点(Java、快慢指针)
  8. 软件架构师的12项修炼--软技能篇
  9. 什么是数字孪生?终于有人讲明白了
  10. HDU 5933 2016CCPC杭州 A: ArcSoft's Office Rearrangement
  11. 中断(二)—— x86 APIC
  12. atitit.安全的签名摘要 算法attilax总结
  13. 阿里资深技术专家:35岁IT职场人的8个经验总结!
  14. 遗传算法(geatpy)
  15. AWS宣布计划在加拿大开设第二个区域
  16. Spring源码分析三:Bean标签解析之BeanDefinition
  17. 前端之jquery基础
  18. 计蒜客 青出于蓝胜于蓝 dfs序+树状
  19. CVPR 2022 | End-to-End Referring Video Object Segmentation with MultimodalTransformers
  20. 永久开源的cms系统

热门文章

  1. 手推支持向量机03-硬间隔SVM-模型求解(对偶问题之KKT条件)
  2. 播放器地址抓取 php,PHP实现使用优酷土豆视频地址获取swf播放器分享地址
  3. 阶层是一条漫长的阶梯,你能爬到第几层?
  4. 实现表格中的el-switch 开关切换
  5. 什么是裸金属服务器,裸金属服务器适用什么场景?
  6. ios手机如何使用fiddler抓包https
  7. android 窗口圆角
  8. L2范数-欧几里得范数
  9. 十一、kotlin的协程(一)
  10. 计算机专业发展基金申报书,计算机科学与技术学院大学生科技创新基金项目申报书.doc...