Beego框架实现简单的WEB服务¶
帖子整理:
- Beego Web项目的搭建 http://3ms.huawei.com/hi/group/2027489/wiki_5186763.html
- 用Beego开发web应用 https://www.cnblogs.com/zhangweizhong/p/10919672.html
- Go_Web编程.pdf http://3ms.huawei.com/hi/group/2033815/file_10889001.html?for_statistic_from=my_group_file
- Beego官网 https://beego.me/
- build-web-application-with-golang https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md
- Beego开发文档 https://www.kancloud.cn/hello123/beego/126086
网上有很多帖子,这里就不多整理了,我下面会详细说下我之前搭建的server。
一、安装开发工具¶
注意: beege和bee是两个概念。beego是框架,bee是工具,是命令。 在安装Beego前,先确认是否将$GOPATH/bin写入GO环境中。
二、创建应用¶
Bash | |
---|---|
也不一定非要用这个命令,只要创建好对应的目录,放好文件就可以了。
1)conf目录¶
这个目录是beego的配置文件目录,里面有个app.conf文件,你可以配置任何你想要的东西。
比如:我需要配置一个localhost, 就可以在文件中写 localhost = 127.0.0.1:9999
,然后在代码中使用对应的接口,就可以获取这个值。
2)controllers¶
这个目录主要是各个url的实现,我们作为WEB的服务端,主要的任务就是处理各个URL的消息。
当然不一定非要是这个名字,主要是当前主流默认这么写的。
示例代码:controllers
Go
3)routers¶
这个目录是路由的定义,就是定义某个URL是由哪个controller去处理。
示例代码:routers 1
这里我定义的是两个URL,登陆和退出,分别由对应的controller去处理。
当然还另外一种定义方法:
示例代码:routers 2
就是比第一种方法多了个参数,而且是在同一个controller中处理。 这里就是定义两个URL分别由AccessController中的LoginProcess和LogoutProcess两个函数处理。
这个方法好的一点就是不需要那么多controller,不好的一点当然是放在一起的时候,很容易混淆,代码结构也看着不是很清晰。我更喜欢第一种方式。
4)static 和 views目录¶
static是静态访问目录。这里可以放置一些脚本之类的东西。
views是视图的目录,上面的get方法返回的login.html就是这个目录,不需要特定指定,按照上面 c.TplName = "login.html"
的写法,默认返回的是views
目录的html页面信息。
三、Beego的配置¶
这里介绍几个简单的,想要详细了解,可以去看相应的开发文档,前面有整理相关的地址。
1)配置监听端口¶
Go | |
---|---|
指定对应的IP地址和监听端口,并且指定是使用HTTP还是HTTPS,也可以俩都用,就是需要并行进行两个监听。
2)session¶
Go | |
---|---|
session功能开启后,在处理的时候就可以使用SetSession、GetSession命令。
3)static¶
Go | |
---|---|
这里设置静态目录,第一个参数是以127.0.0.1:8080为基础的url,第二个是静态路径。
上面的代码就是指定访问127.0.0.1:8080/url的时候,返回static目录的东西。
4)证书的设置¶
Go | |
---|---|
如果使用https,那么必然是要使用证书的,证书的生成可以看 “系统以及软件相关技能→skills→openssl生成证书步骤”, 当然如果你有现成的,那就没那么麻烦了。
示例代码:TLS配置
Go
上面这部分是证书的配置内容,只是简单的示例。
5)日志的设置¶
示例代码:日志设置
这个应该都看得懂。