搭建一个Web服务器(一)
Web是基于http协议的一个服务,Go语言里面提供了一个完善的net/http包,通过http包可以很方便的就搭建起来一个可以运行的Web服务。同时使用这个包能很简单地对Web的路由,静态文件,模版,cookie等数据进行设置和操作。
下面就用go实现一个简单的web服务器:
import (
"net/http"
"log"
"fmt"
)
func main() {
http.HandleFunc("/", sayHello)
err := http.ListenAndServe(":9999", nil)
if err != nil {
log.Fatalf("ListenAndServe: ", err)
}
}
func sayHello(writer http.ResponseWriter, request *http.Request) {
// 解析参数,默认是不会解析的
request.ParseForm()
// 下面是打印一些请求信息
fmt.Println(request.Form)
fmt.Println("path is :" + request.URL.Path)
fmt.Println("scheme is :" + request.URL.Scheme)
for k, v := range request.Form {
fmt.Println("key : ", k)
fmt.Println("val :", v)
}
// 向浏览器客户端输入信息
fmt.Fprintf(writer, "Hello World")
}
这个时候其实已经在9999端口监听http链接请求了。
在浏览器输入http://localhost:9999
或者加参数:http://localhost:9999/?username"haha"&sex="male"

在服务器端输出的信息如下:
map[username:["haha"] sex:["male"]]
path is :/
scheme is :
[]
key : username
val : ["haha"]
key : sex
val : ["male"]
map[]
path is :/favicon.ico
scheme is :
[]
惊喜不惊喜,意外不意外,它不用和java是的需要tomcat,直接使用net/http的包调用几个方法就可以了,因为它可以直接就监听tcp端口了。
- 邮箱 :charon.chui@gmail.com
- Good Luck!