×

概要

Revel 介绍Revel 概念Revel 项目结构

Revel 控制器

Revel 控制器概要Revel 路由routesRevel 参数绑定Revel 参数验证Revel Session / FlashRevel 国际化Revel Results

Revel 模板

Revel 拦截器Revel 缓存CacheRevel 过滤器Revel Websockets

Revel 模块

Revel 模块概要Revel 测试Revel 计划任务

Revel 操作

Revel 日志类型Revel 版本控制Revel 部署

Revel 参考资料

Revel 配置文件app.confRevel 命令行工具Revel 常见问题

Revel 常见问题


如何将已有的http.Handlers整合到Revel中?

概念图中, http.Handler 用于处理用户的请求。Revel的处理是非常简单的,它只是创建控制器实例,并将请求传递给过滤器链。

应用程序可以通过重写默认的处理程序整合现有http.Handlers:

func installHandlers() {
    var (
        serveMux     = http.NewServeMux()
        revelHandler = revel.Server.Handler
    )
    serveMux.Handle("/",     revelHandler)
    serveMux.Handle("/path", myHandler)
    revel.Server.Handler = serveMux
}

func init() {
    revel.OnAppStart(installHandlers)
}

拦截器、过滤器和模块之间是什么关系?

  1. 模块是可以插入到程序中的包。他们可以在多个Revel程序(或第三方源)中共享控制器、视图、资源和其他代码。

  2. 过滤器是可挂接到请求处理管道的函数。他们一般作为一个整体处理技术在应用程序中使用,来垂直分隔应用程序逻辑。

  3. 拦截器是封装数据和行为一种方便的方式,因为嵌入类型导入它的拦截器和字段。这使得拦截器可以很好的处理一些事情,比如验证登录cookie并保存这些信息到一个字段。拦截器可以应用到一个或多个控制器。

分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)