1.简介
在go语言web开发中,请求到达服务器时,多路复用器(multiplexer)会对请求进行检查,并将请求重定向到正确的处理器进行处理。
处理器在接收到多路复用器转发的请求之后,会从请求中取出相应的信息,并对请求进行处理。
在请求处理完成之后,处理器会将得到的数据传递给模板引擎,而模板引擎则会根据这些数据生成要返回给客户端的HTML
2.使用
package main
import (
"fmt"
"net/http"
)
func handler(writer http.ResponseWriter, request *http.Request) {
fmt.Fprintf(writer, "Hello World, %s!", request.URL.Path[1:])
}
func main() {
mux := http.NewServeMux()
mux.HandleFunc("/", handler)
server := &http.Server{
Addr: "0.0.0.0:8080",
Handler: mux,
}
server.ListenAndServe()
}
- 首先创建了一个多路复用器
- 然后将处理器挂载到多路复用器
- 最后创建Server,启动监听
默认情况下,net/http包提供了默认的多路复用器
http.HandleFunc("/", handler)
- 这就是将处理器挂载到默认的多路复用器的例子