本文档需结合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基础之运行逻辑的更多相关文章

  1. golang的beego框架开发时出现的问题纪录

    golang的beego框架开发时出现的问题纪录1.数据库并发时问题:[ORM]2017/02/20 23:44:05 -[Queries/default] - [FAIL / db.Query / ...

  2. 一个定时任务管理器,基于Go语言和beego框架开发

    链接 https://github.com/lisijie/webcron 安装说明 系统需要安装Go和MySQL. 获取源码 $ go get github.com/lisijie/webcron ...

  3. Django框架开发web网站的网页优化—页面静态化

    网站优化-页面静态化 1)概念 提前将页面所用到的数据从数据库查询出来,然后生成一个静态页面,之后用户来访问的时候,直接返回静态页面. 举例:首页静态化:获取首页用到的数据表中的数据,生成静态首页in ...

  4. Beego框架学习--(核心:数据交互)

    Beego框架学习记录 1.beego简介 beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API.Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计 ...

  5. Go语言之高级篇beego框架之参数配置与路由配置

    一.参数配置 beego默认会解析当前应用下的conf/app.conf文件 1.1.beego的参数配置 appname = WEB httpport = 8080 runmode = dev 几种 ...

  6. beego框架学习(二) -路由设置

    路由设置 什么是路由设置呢?前面介绍的 MVC 结构执行时,介绍过 beego 存在三种方式的路由:固定路由.正则路由.自动路由,接下来详细的讲解如何使用这三种路由. 基础路由 从beego1.2版本 ...

  7. PHP Yii框架开发——组织架构网站重构

    最近一段时间在维护公司的组织架构网站(Org),旧版网站只是用了xampp简单搭建了一套环境部署在了windows机器上,代码结构相对简单. 整个架构如下: 整个架构没有用到复杂的结构,class里放 ...

  8. spring-mvc + shiro框架整合(sonne_game网站开发04)

    这篇文章讲的内容是在之前spring + mybatis + spring-mvc + freemarker框架整合的代码的基础上.有需要的可以看看我博客的前两篇文章. 另外,本文章所讲相关所有代码都 ...

  9. Beego 框架学习(一)

    Beego官网本身已经整理的非常详细了,但是作为一个学习者,我还是决定自己好好整理一下,这样在后面使用的时候自己对每部分才能非常熟悉,及时忘记了,也可以迅速定位自己要用的知识在哪里.当然也是对官网的一 ...

随机推荐

  1. PHP正则表达式二分法实现mysql盲注脚本

    $sUrl = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; $sPost = 'inject=Inject&injection='; $sCharset = 'AB ...

  2. 用jQuery做一个选项卡

    1.首先我们点击选项卡的标题栏来改变内容

  3. Django学习之八:forms组件【对form舒心了】

    目录 Django forms组件 bound and unbound form instance forms渲染有关 隐藏一个字段,不渲染它 form 校验 form类 ModelForm 利用Mo ...

  4. Webpack 4教程:为什么要优化代码

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://wanago.io/2018/07/30/webpack-4-course-part ...

  5. AsyncTask机制

    AsyncTask可以让我们更容易地使用UI线程.它允许执行后台操作,并把结果发布到UI线程上,而不需要操作线程或Handler.AsyncTask被设计成一个和Thread.Handler相关的一个 ...

  6. extjs 倒计时

    var interval = (new Date(selection[0].data.dealLimitTime).getTime() - new Date().getTime()) / 1000; ...

  7. 应用shell脚本停启Tomcat

    最近在工作中频繁的操作多个tomcat,顺便就简单研究了一下 一. 简介 Shell 是一种与操作系统直接交互的程序,Unix系统中叫Bourne Shell,包括以下几种 Sh—Bourne She ...

  8. vue(7)—— 组件化开发 — webpack(1)

    引子 在研究完前面的vue开发后,其实已经可以自己开发点东西了,靠前面的指令集,组件,还有vue-router,还有异步请求这些知识点,是完全可以开发出来的,完全可以达到时下前后端分离的效果. 但是, ...

  9. kali权限提升之配置不当提权与WCE

    kali权限提升之配置不当提权与WCE 1.利用配置不当提权 2.WCE 3.其他提权 一.利用配置不当提权 与漏洞提权相比更常用的方法 在大部分企业环境下,会有相应的补丁更新策略,因此难以通过相应漏 ...

  10. Windows上安装MySQL的完整教程

    1.     首先去官方网站下载压缩文件:https://dev.mysql.com/downloads/mysql/ 2.     解压下载的文件. 3.     将解压的所有文件放在一个文件夹里( ...