注:Springboot的版本2.1.3.RELEASE
  
  List-1 application.properties文件
  
  server.port=8080
  
  #url中,项目的前缀
  
  server.servlet.context-path=/project
  
  spring.mvc.view.prefix=/
  
  spring.mvc.view.suffix=.html
  
  整体结构如下图1所示,html要放在static下,不是templates下
  
  图1
  
  List-2 HelloController的内容如下
  
  import lombok.extern.slf4j.Slf4j;
  
  import org.springframework.stereotype.Controller;
  
  import org.springframework.web.bind.annotation.RequestMapping;
  
  @Slf4j
  
  @Controller
  
  public class HelloController {
  
  @RequestMapping(value = "/hello")
  
  public String index() {
  
  log.info("收到请求");
  
  return "html/hello";
  
  }
  
  }
  
  List-3 启动springboot,之后在浏览器中输入
  
  #返回index.html的内容
  
  http://localhost:8080/project/
  
  #返回hello.html的内容
  
  http://localhost:8080/project/hello
  
  网上很多关于模板的(Thymeleaf 、FreeMarker 等),但是我不需要,我只需要纯的html。
  
  index.html是springboot的默认welcome page。
  
  在学习Vue源码之前,首先要做的一件事情,就是去GitHub上将Vue源码clone下来,目前我这里分析的Vue版本是V2.5.21,下面开始分析:
  
  一、源码的目录结构:
  
  Vue的源码都在src目录下,分为6个不同功能的文件
  
  复制代码
  
  src
  
  ├── compiler # 编译相关:包括把模板解析成 ast 语法树,ast 语法树优化,代码生成等功能。
  
  ├── core # 核心代码:包括内置组件、全局 API 封装,Vue 实例化、观察者、虚拟 DOM、工具函数等等
  
  ├── platforms # 不同平台的支持: 2个目录代表2个主要入口,分别打包成运行在web上和weex上的Vue.js
  
  ├── server # 服务端渲染:所有服务端渲染相关的逻辑,跑在服务端的Node.js,把组件渲染为服务器端的HTML字符串,将它们直接发送到浏览器
  
  ├── sfc # .vue 文件解析:把.vue文件内容解析成一个JavaScript的对象
  
  ├── shared # 共享代码:被浏览器端和服务端所共享的工具方法
  
  复制代码
  
  二、源码的构建:
  
  "scripts": {
  
  "build": "node scripts/build.js",
  
  "build:ssr": "npm run build -- web-runtime-cjs,web-server-renderer",
  
  "build:weex": "npm run build -- weex"
  
  }
  
  按照脚本的文件路径,可以在scripts/build.js找到对应的构建文件,在scripts/build.js中,可以看到这样一段代码:
  
  let builds = require('./config').getAllBuilds()
  
  // filter builds via command line arg
  
  if (process.argv[2]) {
  
  const filters = process.argv[www.fengshen157.com/].split(',')
  
  builds = builds.filter(b => {
  
  return filters.some(f => b.output.file.indexOf(f) > -1 || b._name.indexOf(f) > -1)
  
  })
  
  } else {
  
  // filter out weex builds by default
  
  builds = builds.filter(b => {
  
  return b.output.file.indexOf('weex') === -1
  
  })
  
  }
  
  build(builds)
  
  Reference
  
  https://www.michenggw.com /p/eb4c0fc2dfc4
  
  https://www.dasheng178.com /spring-boot/docs/current/reference/htmlsingle/#boot-features-spring-mvc-static-content
  
  https://www.yongshi123.cn /spring-boot/docs/current/reference/htmlsingle/#boot-features-spring-mvc-welcome-page

Springboot返回html的更多相关文章

  1. SpringBoot返回JSON

    目录 1.SpringBoot返回JSON简介 2.整合jackson-databind 3.整合Gson 4.整合fastjson 1.SpringBoot返回JSON简介 随着web开发前后端分离 ...

  2. springboot返回统一接口与统一异常处理

    springboot返回统一接口与统一异常处理 编写人员:yls 编写时间:2019-9-19 0001-springboot返回统一接口与统一异常处理 简介 创建统一的返回格式 Result 封装统 ...

  3. SpringBoot返回date日期格式化

    SpringBoot返回date日期格式化,解决返回为TIMESTAMP时间戳格式或8小时时间差 问题描述 在Spring Boot项目中,使用@RestController注解,返回的java对象中 ...

  4. springboot - 返回xml error 从自定义的 ErrorController

    1.概览 2.在<springboot - 返回JSON error 从自定义的 ErrorController>基础上,做如下调整: 1).新增Attribute类和Error类 pac ...

  5. SpringBoot返回json和xml

    有些情况接口需要返回的是xml数据,在springboot中并不需要每次都转换一下数据格式,只需做一些微调整即可. 新建一个springboot项目,加入依赖jackson-dataformat-xm ...

  6. SpringBoot 返回json 字符串(jackson 及 fast json)

      一.jackson 1.Controller 类加注解@RestController 这个注解相当于@Controller 这个注解加 @ResponseBody 2.springBoot 默认使 ...

  7. SpringBoot22 Ajax跨域、SpringBoot返回JSONP、CSRF、CORS

    1 扫盲知识 1.1 Ajax为什么存在跨域问题 因为浏览器处于安全性的考虑不允许JS执行跨域请求. 1.2 浏览器为什么要限制JS的跨域访问 如果浏览器允许JS的跨域请求就很容易造成 CSRF (C ...

  8. SpringMVC与SpringBoot返回静态页面遇到的问题

    1.SpringMVC静态页面响应 package com.sv.controller; import org.springframework.stereotype.Controller; impor ...

  9. SpringBoot返回页面乱码解决

    SpringBoot,在做全局异常处理的时候,返回中文字符串时,出现乱码情况,网上查阅资料之后,解决方式如下所示,自定义WebConfiguration继承WebMvcConfigurationSup ...

随机推荐

  1. python自编程序实现——robert算子、sobel算子、Laplace算子进行图像边缘提取

    实现思路: 1,将传进来的图片矩阵用算子进行卷积求和(卷积和取绝对值) 2,用新的矩阵(与原图一样大小)去接收每次的卷积和的值 3,卷积图片所有的像素点后,把新的矩阵数据类型转化为uint8 注意: ...

  2. 脚本处理iOS的Crash日志

    背景 当我们打包app时,可以选择生成对应的符号表,其保存 16 进制函数地址映射信息,通过给定的函数起始地址和偏移量,可以对应函数具体信息以供分析. 所以我们拿到测试给的闪退日志(.crash)时, ...

  3. 互评beta版本 - 探路者【贪吃蛇】

    基于NABCD评论,及改进建议 1)N(Need 需求) 开发本软件一方面是为了让80,90后用户重温童年的美好记忆,另一方面也是为了增加对英语学习兴趣较弱.意志力薄弱的中小学生学习英语的兴趣和动力, ...

  4. spring中的@component

    @component (把普通pojo实例化到spring容器中,相当于配置文件中的 <bean id="" class=""/>) 泛指各种组件, ...

  5. Daily Scrum6 11.10

    今日任务: 徐钧鸿:codingcook的sql相关内容,并在进行复查张艺:继续用户管理部分代码黄可嵩:学习搜索的知识,继续进行搜索的移植和响应徐方宇:动态控件和页面间信息传递以及页面响应事件机制试验 ...

  6. Daily Scrum (2015/11/4)

    因为距离部署的时间临近,而之前我们的进度偏慢.这天晚上我们大多数成员几乎所有时间都用在了这个项目上,成果还算令人满意. 成员 今日任务 时间 明日任务 符美潇 1.修复了一个BUG,此BUG会导致所爬 ...

  7. Task 6.2冲刺会议四 /2015-5-17

    今天主要是学习并熟悉了C#的开发流程,把他的文件的大体结构和每个组件之间的联系弄清楚之后.开始写服务器部分的内容.学习过程中,感觉网上的资料有些太鱼龙混杂了,不知道该怎么取舍.明天准备完善服务器的功能 ...

  8. 进阶系列(10)—— C#元数据和动态编程

    一.元数据的介绍 元数据是用来描述数据的数据(Data that describes other data).单单这样说,不太好理解,我来举个例子.下面是契诃夫的小说<套中人>中的一段,描 ...

  9. 分类Category的概念和使用流程

    一.了解 1.分类的概念: category:类别.类目.分类 2.分类的作用: 将1个类中不同方法分到多个不同的文件中存储 可以在不修改原来类的基础上,为这个类扩充一些方法 注意: 分类中只能增加方 ...

  10. OSI协议和TCP/IP协议笔记

    1.OSI协议: 第7层应用层:OSI中的最高层.是用户与网络的接口.该层通过应用程序来完成网络用户的应用需求,如文件传输.收发电子邮件等.在此常见的协议有:HTTP,HTTPS,FTP,TELNET ...