码迷,mamicode.com
首页 > Web开发 > 详细

beego3---gohttp底层实现

时间:2017-12-22 18:36:14      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:col   nand   hand   handler   fat   div   listen   serve   版本   

package main

//gohttp底层实现,通过gohttp不是通过beego实现的输出
//

import (
    "io"
    "log"
    "net/http"
)

func main() {
    //设置路由
    http.HandleFunc("/", sayHello)
    err := http.ListenAndServe(":8080", nil)
    if err != nil {
        log.Fatal(err)
    }
}

func sayHello(w http.ResponseWriter, r *http.Request) {
    io.WriteString(w, "hello vwesion1")
}

 

package main

//gohttp第二个版本:通过mux,handler实现路由

import (
    "io"
    "log"
    "net/http"
)

func main() {
    mux := http.NewServeMux()      //ServeMux//实现handler注册到ServeMux然后在进行路由的注册
    mux.Handle("/", &myHandler{})  //注册路由和handler
    mux.Handle("/hello", sayHello) //通过函数注册路由

    err := http.ListenAndServe(":8080", mux)
    if err != nil {
        log.Fatal(err)
    }
}

type myHandler struct { //这个handle要实现ServerHTTP方法

}

func (this *myHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
    io.WriteString(w, "hello vwesion2,"+r.URL.String())
}

func sayHello(w http.ResponseWriter, r *http.Request) {
    io.WriteString(w, "hello vwesion2,"+r.URL.String())
}

 

beego3---gohttp底层实现

标签:col   nand   hand   handler   fat   div   listen   serve   版本   

原文地址:http://www.cnblogs.com/yaowen/p/8087008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!