注: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. linux常用命令总结(含选项参数)

    • 用户切换 su              切换到root用户并不切换环境 su - root   切换到root用户并切换环境 su  redhat  切换到redhat不切换环境 • cd切换目 ...

  2. Python构建web应用(进阶版)->对网页HTML优化逻辑显示

    本篇是承接上一篇web应用(入门级)的内容往下顺延的,阅读后将会了解HTML逻辑显示优化,如下图所示,从杂乱无章的日志文件到一个整齐的列表显示. —————————————————————————— ...

  3. SSM搭项目报错:HTTP Status 400 – Bad Request

    具体报错如下: Type Status Report Description The server cannot or will not process the request due to some ...

  4. 012-- mysql的分区和分表

    分区 分区就是把一个数据表的文件和索引分散存储在不同的物理文件中. mysql支持的分区类型包括Range.List.Hash.Key,其中Range比较常用: RANGE分区:基于属于一个给定连续区 ...

  5. hive的优化

    hive.optimize.cp=true:列裁剪hive.optimize.prunner:分区裁剪hive.limit.optimize.enable=true:优化LIMIT n语句hive.l ...

  6. GitHub笔记(三)——分支管理和多人协作

    三.分支管理 0 语句: 查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name> 创建+切换分支:git ...

  7. SparkRDD编程实战

    通过spark实现点击流日志分析案例 1. 访问的pv package cn.itcast import org.apache.spark.rdd.RDD import org.apache.spar ...

  8. React Native移动开发实战-3-实现页面间的数据传递

    React Native使用props来实现页面间数据传递和通信.在React Native中,有两种方式可以存储和传递数据:props(属性)以及state(状态),其中: props通常是在父组件 ...

  9. 使用FFMPEG 压缩png图片 与tinypng压缩结果对比

    Tinypng  https://tinypng.com/ 一个在线png压缩工具 FFmpeg https://ffmpeg.org/download.html 原图 903 kb Tinypng压 ...

  10. “Hello World!“”团队第七周召开的第三次会议

    今天是我们团队“Hello World!”团队第七周召开的第三次会议.博客内容: 一.会议时间 二.会议地点 三.会议成员 四.会议内容 五.todo list 六.会议照片 七.燃尽图 八.代码 一 ...