注: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. JUC——线程同步辅助工具类(Exchanger,CompletableFuture)

    Exchanger交换空间 如果现在有两个线程,一个线程负责生产数据,另外一个线程负责消费数据,那么这个两个线程之间一定会存在一个公共的区域,那么这个区域的实现在JUC包之中称为Exchanger. ...

  2. ESP8266/ESP32模块晶振频偏调试

    ESP8266/ESP32模块晶振频偏调试 !> 前提:晶振频偏调试是需要仪器设备的支持才能完成的. 测试环境:IQ2010综合测试仪 本文仅记录有关频偏调试的主要内容,其余不在赘述. IQ20 ...

  3. 【SIKIA计划】_10_Unity5.1UI系统-UGUI笔记

    Canvas——TextEventSystem 事件系统 0.滚动文本列表(隐藏背景)/Scroll/maskimage[Scroll Rect][Mask]——text(拉伸到显示全部)Scroll ...

  4. PLSQL触发器,游标

    --触发器 drop table emp_log create table emp_log( empno number, log_date date, new_salary number, actio ...

  5. Codeforces70 | Codeforces Beta Round #64 | 瞎讲报告

    目录 前言 正文 A B C D E 前言 这个毒瘤的517 放了Div1 然后D题是昨天讲的动态凸包(啊喂!我还没来的及去写 结果自己想的是二分凸包 (当然没有写出来 写完前两题之后就愉快地弃疗 C ...

  6. TCP协议数据包及攻击分析

    TCP/IP协议栈中一些报文的含义和作用 URG: Urget pointer is valid (紧急指针字段值有效) SYN: 表示建立连接 FIN: 表示关闭连接 ACK: 表示响应 PSH: ...

  7. Django_cookie+session

    一.cookie和session介绍 cookie 由服务器产生内容,浏览器收到请求后保存在本地:当浏览器再次访问时,浏览器会自动带上cookie,这样服务器就能通过cookie的内容来判断这个是“谁 ...

  8. 20181023-11 Alpha发布

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2283 文案: Learning by Playing 界面清爽明快,UI ...

  9. 欢迎来怼--第三十六次Scrum会议

    一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,阚博文 小组照片 二.开会信息 时间:2017/12/1 11:35~11:55,总计20min. 地点 ...

  10. 互评Alpha版本—SkyHunter

    1.根据NABCD评论作品:   N(Need,需求):飞机大战题材的游戏对80,90后的人来说算是童年的记忆,可以在闲暇之余打开电脑玩一会儿.但是面向初中生,高中生的话这种PC小游戏可能不会那么适合 ...