在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Revel 从Rails 和 Play! 中吸收了许多成熟的设计思想, 许多相同的思想被用到了框架的设计和接口中。 Revel 通过简单的约定来支持 MVC 设计模式,轻量、开发效率高。 MVC
一些不错的MVC结构概述,像 Play! 框架 与Revel框架完全匹配。 请求的生命周期下面是一个请求处理的基本流程: 概要:
HTTP HandlerRevel 构建自顶级 Go HTTP server, 他为每一个到来的请求创建一个 go-routine (轻量线程),用于处理并发。 Revel什么也不做,只是把请求交给过滤器链处理,完成之后,将结果写到响应中。 默认情况下, Revel 处理程序注册到 过滤器过滤器 实现了Revel的大部分请求处理功能,过滤器有一个简单的易于嵌套的接口。 “过滤器链” 是一个函数数组, 每一个都会去执行下一个,直到最后一个过滤器执行了控制器方法。例如, 过滤器链中的第一个过滤器是 总之, 过滤器和过滤器链就像机架一样。 控制器和方法每一个 HTTP 请求,执行一个 action, 处理请求并写入响应。 相关的 actions 被分组到 controllers中. Controller 类型包含相关字段和方法,作为每个请求的上下文。 作为 HTTP 请求处理的一部分,Revel 实例化你的控制器,并设置嵌入 Controller 是直接 或 间接嵌入
Action 是 Controller 的方法。符合下面的条件:
例如:
程序调用 ResultsResult 符合下面的接口:
通常, 什么也不响应,直到 action 和所有的过滤器返回。此时,Revel写入响应的headers和cookies。(例如设置会话cookie), 然后调用 |
请发表评论