多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
> 如何将已有的http.Handlers整合到Revel中? 在[概念图](http://gorevel.cn/docs/manual/concepts.html)中, 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并保存这些信息到一个字段。拦截器可以应用到一个或多个控制器。