使用Go语言编写Web程序(二)

Jochndan 8年前
   <p>上一节我们使用Go语言写了一个进行web服务端口侦听和简单的URL请求输出,但并没有实现我们上网浏览网页时所看到的丰富多彩的html页面,当我们需要把分离出来的html页面加入到Go语言编写的服务时,我们需要在服务程序中导入html/template。</p>    <pre>  <code class="language-go">import(      "fmt"      "log"      "net/http"      "html/template"  )</code></pre>    <p>然后我们创建一个template文件,命名为index.html放在main.go相同文件夹下,文件中填写如下代码:</p>    <pre>  <code class="language-html"><h1>欢迎使用html文件</h1>    <p>这是一个分离出来的html文件加入到了Go Web服务中</p></code></pre>    <p>main.go填写如下代码:</p>    <pre>  <code class="language-go">package main    import (   "fmt"   "html/template"   "log"   "net/http"  )    func IndexHandler(w http.ResponseWriter, r *http.Request) {   t, err := template.ParseFiles("index.html")   if err != nil {    log.Println(err)   }   err = t.Execute(w,nil)   if err != nil {    log.Println(err)   }  }    func main() {      http.HandleFunc("/index",IndexHandler)   fmt.Println("服务端口:8000")                 //控制台输出信息   err := http.ListenAndServe(":8000", nil) //设置监听的端口   if err != nil {    log.Fatal("ListenAndServe: ", err)   }  }  </code></pre>    <p>运行 go run main.go 使用浏览器访问 http://localhost:8000/index 时得到如下结果:</p>    <p><img src="https://simg.open-open.com/show/c3582b947b08032db29c70d0b661d59a.png"></p>    <p> </p>    <p>来自: http://my.oschina.net/zhizhisoft/blog/735632</p>    <p> </p>    <p><span style="background:rgb(189, 8, 28) url("data:image/svg+xml; border-radius:2px; border:medium none; color:rgb(255, 255, 255); cursor:pointer; display:none; font:bold 11px/20px "Helvetica Neue",Helvetica,sans-serif; left:30px; opacity:0.85; padding:0px 4px 0px 0px; position:absolute; text-align:center; text-indent:20px; top:1017px; width:auto; z-index:8675309">Save</span></p>    <p> </p>