revel MySQL_Revel 教程
Go语言Web框架Revel介绍
Revel是一个Go语言的web框架,其具有热编译,高性能,无状态,模块化等特性,非常适合做web开发。这个框架源于java的 Play! Framework.清晰的MVC结构,是现在go语言Web框架中优秀的框架。
Revel框架特性
热编译
编辑, 保存, 和 刷新时,Revel自动编译代码和模板,如果代码编译错误,会给出一个 错误提示,同时捕捉 运行期错误。
全栈功能
Revel 支持: 路由, 参数解析, 验证, session/flash, 模板, 缓存, 计划任务, 测试, 国际化 等功能。
高性能
Revel 基于 Go HTTP server 构建。 这是techempower发布的 最新评测结果 。在各种不同的场景下进行了多达三到十次的请求负载测试。
框架设计
同步
Go HTTP server 对于每个请求都运行在 goroutine上。Write simple callback-free code without guilt。
无状态
Revel 提供了保持Web层无状态的可预知的扩展。例如,会话数据被存储在用户的cookie中,缓存由memcached集群提供支持。
模块化
Revel框架由被称为 过滤器 的中间件组成,它实现了几乎所有的请求处理功能。 开发者可以自由地使用自定义的过滤器,比如如自定义的路由器,用以替换Revel默认的路由过滤器。
快速开始
1、安装revel之前,先安装go环境
2、安装还需要hg和git支持
3、设置GOPATH,然后把revel下载并安装到GOPATH内mkdir ~/gocode
cd $GOPATH
go get github.com/robfig/revel
4.编译revel命令行工具,revel自己封装了go的命令行工具,创建revel项目、打包发布基本都用这个工具,执行下面的命令go build -o bin/revel github.com/robfig/revel/cmd
5.可以将编译出来的revel命令行工具加到$PATH变量中方便调用export PATH="$PATH:$GOPATH/bin"
6.最后验证revel是否可以工作了$ revel help
~
~ revel! http://robfig.github.com/revel
~
usage: revel command [arguments]
The commands are:
run run a Revel application
new create a skeleton Revel application
clean clean a Revel application's temp files
package package a Revel application (e.g. for deployment)
Use "revel help [command]" for more information.
概要说明
本节简要介绍框架的几个主要组成部分:路由采用简单的声明性语法。反向路由类型安全。控制器组织端点到控制器。提供易用的数据绑定和表单验证。模板使用 Go 模板支持大规模应用.拦截器在一个函数运行之前或之后被调用. 控制器的方法都可以被注册拦截.过滤器通用的功能可以使用过滤器来实现.
Revel路由
路由采用声明性语法. 所有的路由都定义在一个routes文件中。 使用简单的语法匹配路由, 并从 URI 中提取参数到控制器中. 下面是带注释的示例:# conf/routes
# 这个文件定义了所有的路由 (优先级按照先后顺序)
GET /login Application.Login # 匹配一个简单的路由
GET /hotels/ Hotels.Index # 匹配一个带或者不带斜线的路由
GET /hotels/:id Hotels.Show # 绑定到一个控制器参数
WS /hotels/:id/feed Hotels.Feed # WebSockets
POST /hotels/:id/:action Hotels.:action # 自由绑定到一个控制器的多个方法
GET /public/*filepath Static.Serve("public") # 静态文件服务
* /:controller/:action :controller.:action # 自动捕捉所有动作,自动生成路由
反向路由以类型安全的方式生成. 例如下面的Save程序:// 展示信息.
func (c Hotels) Show(id int) revel.Result {
hotel := HotelById(id)
return c.Render(hotel)
}
// 保存信息,并重定向到Hotels.Show.
func (c Hotels) Save(hotel Hotel) revel.Result {
// validate and save hotel
return c.Redirect(routes.Hotels.Show(hotel.Id))
}
revel MySQL_Revel 教程相关推荐
- linux杀死线程函数,Linux线程-pthread_kill
该函数可以用于向指定的线程发送信号: int pthread_kill(pthread_t threadId,int signal); 如果线程内不对信号进行处理,则调用默认的处理程式,如SIGQUI ...
- 二十一世纪大学英语读写教程(第四册)学习笔记(原文)——10 - My Graduation Speech(毕业演说)
Unit 10 - My Graduation Speech(毕业演说) My Graduation Speech Neil Postman Author's Note: Having sat thr ...
- 基于阿里云服务器ECS和宝塔面板,适合初学者的蚂蚁笔记(Leanote)超详细配置教程(但是真的不好用)
文章目录 前言 环境准备 蚂蚁笔记(Leanote)介绍 一.设置安全组.配置规则 二.安装 Leanote 二进制版 三.安装MongoDB 四.导入Leanote初始数据 五.配置 Leanote ...
- 基于阿里云部署和搭建私人云笔记完整教程—leanote
本篇教程主要是带大家在自己的Linux服务器上搭建属于自己的开源云笔记系统. leanote官网 https://leanote.com/ [蚂蚁笔记 = 笔记 + 博客 + 协作 + 私有云] 私有 ...
- 开源笔记系统leanote安装和部署完整教程
本篇教程主要是带大家在自己的Linux服务器上搭建属于自己的开源云笔记系统. leanote官网 https://leanote.com/ [蚂蚁笔记 = 笔记 + 博客 + 协作 + 私有云] 私有 ...
- 云服务器部署和安装开源笔记leanote完整教程
本篇教程主要是带大家在自己的Linux服务器上搭建属于自己的开源云笔记系统. leanote官网 https://leanote.com/ [蚂蚁笔记 = 笔记 + 博客 + 协作 + 私有云] 私有 ...
- 使用Docker搭建svn服务器教程
使用Docker搭建svn服务器教程 svn简介 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很 ...
- mysql修改校对集_MySQL 教程之校对集问题
本篇文章主要给大家介绍mysql中的校对集问题,希望对需要的朋友有所帮助! 推荐参考教程:<mysql教程> 校对集问题 校对集,其实就是数据的比较方式. 校对集,共有三种,分别为:_bi ...
- mysql备份psb文件怎么打开_Navicat for MySQL 数据备份教程
原标题:Navicat for MySQL 数据备份教程 一个安全和可靠的服务器与定期运行备份有密切的关系,因为错误有可能随时发生,由攻击.硬件故障.人为错误.电力中断等都会照成数据丢失.备份功能为防 ...
- php rabbmq教程_RabbitMQ+PHP 教程一(Hello World)
介绍 RabbitMQ是一个消息代理器:它接受和转发消息.你可以把它当作一个邮局:当你把邮件放在信箱里时,你可以肯定邮差先生最终会把邮件送到你的收件人那里.在这个比喻中,RabbitMQ就是这里的邮箱 ...
最新文章
- MFC的类层次结构图
- Vue.js 系列教程 3:Vue-cli,生命周期钩子
- Windows Azure Storage (4) Windows Azure Storage Service存储服务之Blob Share Access Signature
- 优秀自我简介200字_全球战疫 翰墨传情——东方盛世杯网络公益书画展优秀作品【二】...
- ldap radius mysql_OpenLDAP+FreeRADIUS+MySQL+RP-PPPOE 构建PPPOE服务器
- 《计算机网络》学习笔记 ·005【传输层】
- ncnn数据归一化和结果解析
- 速读-高级技能二:并行输入训练
- ElasticSearch全文搜索引擎之查询API操作详解
- 渤海银行天津分行计算机笔试,关于渤海银行笔试经验分享
- 设置maven的本地位置和maven镜像
- aspcms修改数据报错问题
- OSChina 周三乱弹 —— 东京不热,北海道有点热
- 短视频平台还能这样赚钱?无需拍视频,每天能赚200多详细流程
- Springboot+采用协同过滤算法的家政服务平台的设计与实现 毕业设计-附源码260839
- Arch Linux KDE Plasma + Windows 11 双系统安装指南
- Unity3D--控制鼠标的显示与隐藏
- 什么是AJAX的同步异步?
- 2021年中国洋葱行业市场现状分析:洋葱价格创下近年新高[图]
- Bootstrap Table 中文文档(完整翻译版)