go web的简单服务器

1)简单web服务器:

package main  
  
import (  
        "fmt"  
        "net/http"  
)  
  
  
func sayHelloName(w http.ResponseWriter, r *http.Request) {  
  
        fmt.Fprintf(w, "hello, world")  
}  
  
func main() {  
  
        http.HandleFunc("/", sayHelloName)  
        http.ListenAndServe(":9090", nil)  
  
} 

首先go run hello.go之后,打开一个浏览器,输入http://127.0.0.1:9090,你就会在网页上看到web的打印了。

2)带有表单处理的web服务器:

package main  
  
import (  
  
        "fmt"  
        "html/template"  
        "net/http"  
)  
  
func sayHelloName(w http.ResponseWriter, r* http.Request) {  
  
        fmt.Fprintf(w, "hello, world")  
}  
  
  
func login(w http.ResponseWriter, r* http.Request) {  
  
        if r.Method == "GET" {  
  
                t, _ := template.ParseFiles("login.html");  
                t.Execute(w, nil)  
        } else {  
  
                r.ParseForm()  
                fmt.Println("username:", r.Form["username"])  
                fmt.Println("password", r.Form["password"])  
  
        }  
  
}  
  
  
func main() {  
  
        http.HandleFunc("/", sayHelloName)  
        http.HandleFunc("/login", login)  
        http.ListenAndServe(":9090", nil)  
}  

上面给出的只是代码内容,你还需要一个login.html模板文件,

<html>  
<head>  
<title> </title>  
</head>  
  
<body>  
<form action="http://127.0.0.1:9090/login" method="post">  
        user: <input type="text" name ="username">  
        pass: <input type="password" name="password">  
        <input type="submit" value="login">  
</form>  
</body>  
</html> 

运行go代码之后,试着在浏览器下输入127.0.0.1:9090和127.0.0.1:9090/login