Go 实现Web框架Day6-7 学习笔记

Go 实现 Web 框架 Day6-7 学习笔记

极客兔兔大佬的《七天用Go从零实现系列》Day6 模板 Template,Day7 错误恢复学习笔记

Day6-7 内容

  • 实现静态资源服务
  • 实现动态内容的渲染
  • 实现服务端错误恢复

新的知识点

  • http.FileServer 使用
  • panic recover 恢复机制
  • golang 内置 html/template 的 HTML 模板渲染功能,template.Template
  • runtime.Callers runtime.Func 记录出错的栈信息

开发内容

内容地址

开发目的

支持网页的呈现,包括 js、css、html静态资源,以及模板实现的动态渲染内容,

增加panic recover 机制,以及Stack Trace 保证服务端运行的健壮性

开发步骤

  • 增加静态资源专用路由
  • 实现服务端静态资源的回写
  • 使用 html/template 包中的 template 做动态内容的渲染
  • 增加出错恢复的 Recovery 增强函数

思考题

  • panic 是什么,之后的语句还会执行吗?
  • defer 是什么,怎么使用,多个defer如何执行?
  • recover 如何使用?

最后答案单独列一篇,可以自己试着解答一下。

小结

本篇为 7天开发Web框架 Gee 的最后一篇,内容包括模板渲染和错误恢复。

  • 首先修改了之前静态资源路由 /assets/*filepath 的处理(之前只打印filepath),能够正常返回静态资源 js css html
  • 模板渲染直接使用了html/template提供的能力,并增加模板文件渲染的请求处理方法
  • 使用之前的增强函数,定制出错恢复机制,并增加 stack trace,方便错误定位

至此Gee 框架已经完工,涵盖了动态路由、分组鉴权、模板等功能,很适合新手来练手

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值