注: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. Aria2 Linux 完整安装及使用教程

    Aria2 嘛,主要是用来离线下载,功能强大,支持 http/https 直链.ftp.电驴.磁力链接等等,且可以跨平台使用,配合网页端操作,简直是一代下载神器. 安装 Debian/Ubuntu: ...

  2. 如何判断Map中的key或value类型

    在上班写工具类时,遇到了一个问题,将xml文件的节点都放入map容器中时,map的value也是一个map,导致取map的value时,需要判断这个value的数据类型,用到了一下说的这些知识: 对于 ...

  3. 匹配追踪算法(MP)简介

    图像的稀疏表征 分割原始图像为若干个\[\sqrt{n} \times \sqrt{n}\]的块. 这些图像块就是样本集合中的单个样本\(y = \mathbb{R}^n\). 在固定的字典上稀疏分解 ...

  4. Nginx中server_name 参数详解

    Nginx中的server_name指令主要用于配置基于名称的虚拟主机,server_name指令在接到请求后的匹配顺序分别为: 1.准确的server_name匹配,例如: server { lis ...

  5. Win7-64位PowerDesigner下MySQLODBC驱动问题

    操作系统:win7-64位,PowerDesigner15.1(以下简称PD), MYSQL-ODBC-64驱动.安装完MYSQL-ODBC-64却找不到相关驱动,用PD反导数据库,却找不到Mysql ...

  6. 爬虫_处理js动态加载

    1.selenium模块下载网页提取url,[煎蛋网] https://www.cnblogs.com/fat39/p/9865949.html#tag5 2.该网页加密了url,通过js获取图片.分 ...

  7. NIO中的Buffer

    public abstract class Buffer { // Invariants: mark <= position <= limit <= capacity private ...

  8. bootstrap中的data-toggle模态框相关

    一,点击即打开1,点击按钮 <a href="javascript:void(0)" class="btn btn-primary" data-toggl ...

  9. 结对编程-->总结报告

    项目github地址 PSP时间表格 结对编程中关于Information Hiding, Interface Design, Loose Coupling原则的使用 Information Hidi ...

  10. YQCB冲刺周第四天

    上图站立会议 任务看板: 今天的任务:做登录身份的验证,区别普通用户和超级管理员 遇到的困难:中文乱码问题