社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
从今天起 ,本菜准备跟着无闻学习一下Beego服务。Beego还是比较好的一个web框架。其实很多东西都可以照着官网去学习。
学习的友情链接: beego官网 https://beego.me
其他GO文档查询网站 https://gowalker.org
按照官网,首先实现一个最最简单的HTTP服务器
go get github.com/astaxie/beego
好了,接着。创建一个main.go (其实更详细的过程可以参见beego官网)
package main
import (
"github.com/astaxie/beego"
)
type HomeController struct {
beego.Controller
}
func (self *HomeController) Get() {
self.Ctx.WriteString("Hello,World !! ")
}
func main() {
beego.Router("/",&HomeController{})
beego.Run()
}
看看这个被重载的beego.controller
下面具体来介绍http服务器的底层实现。
version1
package main
import (
"io"
"log"
"net/http"
)
func main() {
//设置路由
http.HandleFunc("/",handler)
err:=http.ListenAndServe(":80",nil)
if err!=nil{
log.Fatal(err)
}
}
func handler(w http.ResponseWriter,r *http.Request){
io.WriteString(w,"Hello world,this is version 1")
}
package main
import (
"io"
"log"
"net/http"
)
func main() {
mux := http.NewServeMux()
mux.Handle("/",&myHandler{})
err:=http.ListenAndServe(":80",mux)
if err != nil {
log.Fatal(err)
}
}
type myHandler struct {
}
func (*myHandler) ServeHTTP(w http.ResponseWriter,r *http.Request){
io.WriteString(w,"URL:"+r.URL.String())
}
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!