Springboot中静态文件的两种引入方式总结

目录
  • thymeleaf 模式
    • 依赖中引入
    • 可选配置
    • yml 做如下配置
    • 构架这样构架
  • 非thymeleaf 模式
    • 首先去掉依赖
    • 删除controller的指向view层
    • yml文件中这样配置
    • 构架如下

thymeleaf 模式

依赖中引入

<!-- 渲染静态页面 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

可选配置

如果你有

WebMvcConfigurationSupport 的一些类引用. 你需要放行他们

如果你引用了 springSecurity

你也需要放行他们

thymeleaf 需要通过controller层转向view 层

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
/**
 * @ClassName:
 * @Descripton:
 * @Author: sansy
 * @Date: 2019/5/16 10:12
 * @Version: 2.0
 */
@RestController
public class IndexController {
    @RequestMapping(value = "/index", method = RequestMethod.GET)
    public ModelAndView index() {
        System.out.println("/index进入controller控制器");
        ModelAndView mav = new ModelAndView();
        mav.setViewName("index");
        return mav;
    }
    @RequestMapping(value = "/home", method = RequestMethod.GET)
    public ModelAndView home() {
        System.out.println("/home进入controller控制器");
        ModelAndView mav = new ModelAndView();
        mav.setViewName("index");
        return mav;
    }
    @RequestMapping(value = "/error", method = RequestMethod.GET)
    public ModelAndView error() {
        System.out.println("/error进入controller控制器");
        ModelAndView mav = new ModelAndView();
        mav.setViewName("index");
        return mav;
    }
    @RequestMapping(value = "/login", method = RequestMethod.GET)
    public ModelAndView login() {
        System.out.println("/login进入controller控制器");
        ModelAndView mav = new ModelAndView();
        mav.setViewName("index");
        return mav;
    }
    @RequestMapping(value = "/", method = RequestMethod.GET)
    public ModelAndView indexs() {
        System.out.println("/ 进入controller控制器");
        ModelAndView mav = new ModelAndView();
        mav.setViewName("index");
        return mav;
    }
    @RequestMapping(value = "/404", method = RequestMethod.GET)
    public ModelAndView error404() {
        System.out.println("/404 进入controller控制器");
        ModelAndView mav = new ModelAndView();
        mav.setViewName("index");
        return mav;
    }
}

yml 做如下配置

构架这样构架

非thymeleaf 模式

首先去掉依赖

删除controller的指向view层

如果你想带控制器也是可以的   (带的话 指向index. 不带的话 默认指向index .可以理解成一个绝对路径,一个相对路径)

yml文件中这样配置

是为了能够直接访问 根目录下的text文件

构架如下

完成.

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 在SpringBoot中静态资源访问方法

    一.概述 springboot 默认静态资源访问的路径为:/static 或 /public 或 /resources 或 /META-INF/resources 这样的地址都必须定义在src/main/resources目录文件中,这样可以达到在项目启动时候可以自动加载为项目静态地址目录到classpath下 ,静态访问地址其实是使用 ResourceHttpRequestHandler 核心处理器加载到WebMvcConfigurerAdapter进行对addResourceHandlers

  • SpringBoot 如何实时刷新静态文件

    目录 你是否受够了每次修改静态文件都要重启服务器? 方案 SpringBoot静态资源不重启刷新,自定义配置 1. demo 2. 如何不重启修改生效 3. 原理 小结一下 你是否受够了每次修改静态文件都要重启服务器? 有时候在一些公司前后端的职责没有那么的明确,往往后台人员也要去写一些页面,像jsp页面,或者其他的后台模板页面等.默认情况下Java文件会被编译为class文件,并且静态资源文件也被一并的编译进class目录下面,这样导致我们每次修改静态文件都要重新编译进class目录,很麻烦,

  • springboot操作静态资源文件的方法

    默认静态资源供 SpringBoot有几个默认的静态资源目录,当然也可配置,默认配置的/**映射到/static(或/public ,/resources,/META-INF/resources),自定义配置方式如下: spring.mvc.static-path-pattern=/** # Path pattern used for static resources. 前端如果需要访问默认的静态资源,下面有点要注意,考虑下面的目录结构: └─resources │ application.ym

  • 使用SpringBoot2.x配置静态文件缓存

    HTTP浏览器缓存 对这部分知识不太熟悉的,可以先看一下这篇文章:HTTP浏览器缓存机制 配置文件yml配置 spring: resources: static-locations: classpath:/static/,classpath:/views/,classpath:/templates/ chain: strategy: #MD5实现 content: enabled: true paths: /** #版本号管理(与MD5实现方式同时存在时,需要指定不同的路径,来分别实现对应的文件

  • Springboot中静态文件的两种引入方式总结

    目录 thymeleaf 模式 依赖中引入 可选配置 yml 做如下配置 构架这样构架 非thymeleaf 模式 首先去掉依赖 删除controller的指向view层 yml文件中这样配置 构架如下 thymeleaf 模式 依赖中引入 <!-- 渲染静态页面 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter

  • Django 添加静态文件的两种实现方法(必看篇)

    Django添加静态文件有两种方法: 首先setting.py配置文件中添加静态文件的路径: STATICFILES_DIRS = [ os.path.join(BASE_DIR, "statics"),]  statices为你所建立的存放静态文件的文件夹名 然后进行引用. 1.html 文件中通过 /static/资源名的方式,就可以访问到资源 2.①html 文件头部填写  {% load staticfiles %},②路径填写  {% static 'css/xx.css'

  • SpringBoot中定位切点的两种常用方法

    有时候,我们使用AOP来进行放的增强,编写切面类的时候,需要定位在哪个方法上试用该切面进行增强,本片文章主要讲解两种在SpringBoot中定位切点的方法,一种是使用execution表达式的方法,一种则是利用自定义注解的方法. 接下来以一个简单的例子来讲解这两种方法的使用方式. <==========方法执行前==========> method(); <==========方法执行后==========> execution 表达式 execution表达式的方式主要是在定义切

  • Node.js实现下载文件的两种实用方式

    目录 第一种方式:使用原生的http模块 第二种方式:使用Express+Axios下载文件 总结 设置响应头 返回数据流 第一种方式:使用原生的http模块 我们仅需要用到fs和http两个node.js的原生模块,不需要安装第三方模块,就可以实现文件的下载.代码如下: var fs = require('fs'); var http = require("http"); var server = http.createServer(); server.on("reques

  • JavaScript中的函数的两种定义方式和函数变量赋值

    复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script type="text/javascript"> /*I总结: 1.函数名可以做变量使用,可以赋值,可以传值 2.函数名当参数,传递给另一个函数 */ //===========

  • Java中匿名类的两种实现方式

    使用匿名内部类课使代码更加简洁.紧凑,模块化程度更高.内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到.然而这个不是我说的重点,我说的很简单,就是匿名内部类的两种实现方式:第一种,继承一个类,重写其方法:第二种,实现一个接口(可以是多个),实现其方法.下面通过代码来说明: public class TestAnonymousInterClass{ public static void main(String args[]){ TestAnonymousInterCl

  • 详解springboot中使用异步的常用两种方式及其比较

    一般对于业务复杂的流程,会有一些处理逻辑不需要及时返回,甚至不需要返回值,但是如果充斥在主流程中,占用大量时间来处理,就可以通过异步的方式来优化. 实现异步的常用方法远不止两种,但是个人经验常用的,好用的,这里我就说两种,最好用的是第二种. spring的注解方式@Async org.springframework.scheduling.annotation.Async jdk1.8后的CompletableFuture java.util.concurrent.CompletableFutur

  • JAVA中 Spring定时器的两种实现方式

    目前有两种流行Spring定时器配置:Java的Timer类和OpenSymphony的Quartz. 1.Java Timer定时 首先继承java.util.TimerTask类实现run方法 import java.util.TimerTask; public class EmailReportTask extends TimerTask{ @Override public void run() { ... } } 在Spring定义 ... 配置Spring定时器 <bean id=&quo

  • SpringBoot中使用Servlet的两种方式小结

    目录 1.方式一(使用注解) 2.方式二(定义配置类) 1.方式一(使用注解) 首先,我们写一个Servlet.要求就是简单的打印一句话. 在MyServlet这个类的上方使用 @WebServlet 注解来创建Servlet即可. package com.songzihao.springboot.servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import j

  • vue3使用echart的两种引入方式以及注意事项说明

    目录 1.直接在组件中引用echarts 2.全局引入,一般在app.vue 1.先讲vue挂载和echarts渲染 2.echarts渲染和数据获取 创建好vue3项目后安装echarts 终端输入: npm i echarts --save 安装好后: 1.直接在组件中引用echarts <script setup>         import * as echarts from 'echarts'   </script> 2.全局引入,一般在app.vue app.vue

随机推荐