package main
import "net/http"
import "fmt"
type MyHandler struct{}
func (m *MyHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "正在通过处理器函数处理你的请求")
}
func main() {
http.Handle("/", &MyHandler{})
fmt.Println("8080端口已开始监听")
http.ListenAndServe(":8080", nil)
}
type Handler interface {
ServeHTTP(ResponseWriter, *Request)
}
package main
import (
"fmt"
"net/http"
"time"
)
type MyHandler struct{}
func (m *MyHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "正在通过处理器函数处理你的请求")
}
func main() {
server := http.Server{
Addr: ":8080",
Handler: &MyHandler{},
ReadTimeout: 2 * time.Second,
}
fmt.Println("8080端口已开始监听")
server.ListenAndServe()
}
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "正在通过自己创建的多路复用器处理你的请求")
}
func main() {
mux := http.NewServeMux()
mux.HandleFunc("/myMux", handler)
http.ListenAndServe(":8080", mux)
}
ServeMux类型是HTTP请求的多路转接器,它会将每一个请求的URL与一个注册模式的列表进行匹配,并调用和URL最匹配的模式的处理器
type ServeMux struct {
mu sync.RWMutex
m map[string]muxEntry
es []muxEntry // slice of entries sorted from longest to shortest.
hosts bool // whether any patterns contain hostnames
}