Go语言实现简单的一个静态WEB服务器
博客专区 > itfanr 的博客 > 博客详情
Go语言实现简单的一个静态WEB服务器
itfanr 发表于3年前
Go语言实现简单的一个静态WEB服务器
  • 发表于 3年前
  • 阅读 208
  • 收藏 8
  • 点赞 0
  • 评论 0

Android SDK的文档直接打开的话会很慢,而且不支持搜索。所以,本地搭建静态服务器是必要的。以下为引用的其他博客的资源,感谢作者。

首先,搭建一个静态的服务器 我写程序喜欢使用HTML通过AJAX发送JSON请求到后端处理。 HttpServer.go 代码如下:

package main
import (
        "flag"
        "io/ioutil"
        "log"
        "net/http"
        "os"
        "strings"
)

var realPath *string

func staticResource(w http.ResponseWriter, r *http.Request) {
        path := r.URL.Path
        request_type := path[strings.LastIndex(path, "."):]
        switch request_type {
        case ".css":
                w.Header().Set("content-type", "text/css")
        case ".js":
                w.Header().Set("content-type", "text/javascript")
        default:
        } 
        fin, err := os.Open(*realPath + path)
        defer fin.Close()
        if err != nil {
                log.Fatal("static resource:", err)
        } 
        fd, _ := ioutil.ReadAll(fin)
        w.Write(fd)
}

func main() {
        realPath = flag.String("path", "", "static resource path")
        flag.Parse()
        http.HandleFunc("/", staticResource)
        err := http.ListenAndServe(":8080", nil)
        if err != nil {
                log.Fatal("ListenAndServe:", err)
        } 
}

更BT的方法:

package main
import (
        "net/http"
)
func main() {
        http.Handle("/", http.FileServer(http.Dir("/tmp/static/")))
        http.ListenAndServe(":8080", nil)
}

将EasyUI前端框架解压到 /tmp/static 目录下:

在GOPATH下执行

go run HttpServer.go --path=/tmp/static
共有 人打赏支持
粉丝 109
博文 420
码字总数 159549
作品 1
×
itfanr
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: