beego框架开发投票网站(1) beego基础之运行逻辑
本文档需结合beego官方文档食用
博主也仅仅是边学边记录,不保证内容的正确性,请当做通俗读物来看待
首先 beego是一个基于go语言的框架 其次 beego是一个mvc框架
- 框架可以理解为对底层又封装了一次
- mvc的意思是models(模型)views(视图)controllers(控制器)
- model 可以理解为数据库相关
- view 可以理解为前端相关
- controller可以理解为控制器
beego项目运行流程
- 我对这部分理解十分浅显
- beego文档感觉还是不太友好
- 首先运行的是main.go的bee.run
在main函数之前init()总是优先运行的这是基础知识
bee.run所做的工作beego文档讲述的十分清晰
在这里我们只需要知道做了什么工作即可,不认识的名词都没关系,用到了回头看即可beego文档 bee.run bee.run做了很多的准备工作,准备好了后开始监听端口,对内的监听在写文档时我也不知道是干嘛的。
一旦 run 起来之后,我们的服务就监听在两个端口了,一个服务端口 8080 作为对外服务,另一个 8088 端口实行对内监控
- 监听端口发现用户请求发生变化后
1.首先查找main中所注册的路由
2.找到对应的控制器
3.运行控制器中的处理逻辑,对数据库进行操作,如需返回模板则返回模板 举例 点击登录按钮,你的地址栏变成了8080/login
监听端口的服务监听到
在main中寻找注册了login的路由,找到之后根据路由提供的控制器信息找到对应的控制器,控制器返回给浏览器login.html执行beego项目逻辑的官方解读同样只需要粗浅的知道流程即可
beego对于beego.Run()以及处理逻辑的解读并不友好
- 没必要在初学阶段就弄懂这些
继续学下去就会越来越清晰 - 一方面是初学的时候真的几乎不会弄懂的
另一方面是会有很深的挫败感
编程最重要的是去做 不是吗
留坑
- 深入beego处理逻辑
beego框架开发投票网站(1) beego基础之运行逻辑的更多相关文章
- golang的beego框架开发时出现的问题纪录
golang的beego框架开发时出现的问题纪录1.数据库并发时问题:[ORM]2017/02/20 23:44:05 -[Queries/default] - [FAIL / db.Query / ...
- 一个定时任务管理器,基于Go语言和beego框架开发
链接 https://github.com/lisijie/webcron 安装说明 系统需要安装Go和MySQL. 获取源码 $ go get github.com/lisijie/webcron ...
- Django框架开发web网站的网页优化—页面静态化
网站优化-页面静态化 1)概念 提前将页面所用到的数据从数据库查询出来,然后生成一个静态页面,之后用户来访问的时候,直接返回静态页面. 举例:首页静态化:获取首页用到的数据表中的数据,生成静态首页in ...
- Beego框架学习--(核心:数据交互)
Beego框架学习记录 1.beego简介 beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API.Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计 ...
- Go语言之高级篇beego框架之参数配置与路由配置
一.参数配置 beego默认会解析当前应用下的conf/app.conf文件 1.1.beego的参数配置 appname = WEB httpport = 8080 runmode = dev 几种 ...
- beego框架学习(二) -路由设置
路由设置 什么是路由设置呢?前面介绍的 MVC 结构执行时,介绍过 beego 存在三种方式的路由:固定路由.正则路由.自动路由,接下来详细的讲解如何使用这三种路由. 基础路由 从beego1.2版本 ...
- PHP Yii框架开发——组织架构网站重构
最近一段时间在维护公司的组织架构网站(Org),旧版网站只是用了xampp简单搭建了一套环境部署在了windows机器上,代码结构相对简单. 整个架构如下: 整个架构没有用到复杂的结构,class里放 ...
- spring-mvc + shiro框架整合(sonne_game网站开发04)
这篇文章讲的内容是在之前spring + mybatis + spring-mvc + freemarker框架整合的代码的基础上.有需要的可以看看我博客的前两篇文章. 另外,本文章所讲相关所有代码都 ...
- Beego 框架学习(一)
Beego官网本身已经整理的非常详细了,但是作为一个学习者,我还是决定自己好好整理一下,这样在后面使用的时候自己对每部分才能非常熟悉,及时忘记了,也可以迅速定位自己要用的知识在哪里.当然也是对官网的一 ...
随机推荐
- docker 安装 MySQL 8,并减少内存占用 记录
目前vps 1cpu 512m内存 MySQL内存占用77% ,约350m ,经过修改配置文件优化后如下 $ ps aux 进入docker bash $ docker exec -it pwc-my ...
- stream,file,filestream,memorystream简单的整理
一.Stream 什么是stream?(https://www.cnblogs.com/JimmyZheng/archive/2012/03/17/2402814.html#no8) 定义:提供字节序 ...
- 编程心法 之 怎么选择合适的IDE
一般情况下,使用IDE进行开发可以极大的提高开发效率 最佳选择 如果语言是GNU开源的则Eclipse,因为Eclipse就是开源的 例如C和C++这样的底层语言并且经典的语言,基于GNU的语言,推荐 ...
- 关于C++11右值引用和移动语义的探究
关于C++11右值引用和移动语义的探究
- C#基础委托回顾
C#基础委托回顾 前言 快忘记了. 委托的特点 委托类似于 C++ 函数指针,但它们是类型安全的. 委托允许将方法作为参数进行传递. 委托可用于定义回调方法. 委托可以链接在一起:例如,可以对一个事件 ...
- pyspider+PhantomJS的代理设置
环境:pyspider0.3.9 PhantomJS2.1.1,均为最新版 进程用supervisor托管的. 其中需要加的几个地方: webui进程: pyspider -c config.json ...
- winserver-记录共享文件夹操作日志
abstract 1.在共享文件夹上开启审计. 2.在日志中查看操作记录. 开启审计 共享文件夹属性 选择审计 添加审计用户 选择用户及审计事件 日志查看 运行eventvwr 在windowslog ...
- 深入Node之初识
0前言 陆续的用Node已经一年多了,已经用node写了几个的项目,也该是总结node学习的过程了 1.Node是啥? Node.js是一使用JavaScript作为开发语言,运行在服务器端的Web服 ...
- “尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。”
远程连接服务器的数据库调试WCF程序时,可以正常访问数据库,但将程序发布成站点部署在数据库所在的服务器之后,一直报错,通过try/catch捕获得到以下报错信息: System.Exception: ...
- Visual Studio 2019 使用 Live Share
一.前言 Visual Studio 2019 在今天发布(北京时间)了,这次带来了一个比较有趣的 Live Share 功能,使用它可以进行更好的协作开发.主要功能: 更多资料可看官方介绍: Vis ...