主页 > 知识库 > Go语言实现简单的一个静态WEB服务器

Go语言实现简单的一个静态WEB服务器

热门标签:智能营销软件 经常接到推销电话机器人的电话 海外照相馆地图标注入驻 滁州自建外呼系统 工商信用卡外呼系统教程 外呼系统如何接收服务密码 客服级电销机器人 旅游厕所如何电子地图标注 外呼系统多少钱一年

学习Go语言的一些感受,不一定准确。

假如发生战争,JAVA一般都是充当航母战斗群的角色。
一旦出动,就是护卫舰、巡洋舰、航母舰载机、预警机、电子战飞机、潜艇等等
浩浩荡荡,杀将过去。
(JVM,数十个JAR包,Tomcat中间件,SSH框架,各种配置文件...天生就是重量级的,专为大规模作战)

而GO语言更像F35战斗轰炸机
单枪匹马,悄无声息,投下炸弹然后走人。
专属轰炸机,空战也会一点点.
实在搞不定,就叫它大哥F22。
(GO是编译型语言,不需要依赖,不需要虚拟机,可以调用C代码并且它足够简单,却非常全面)

计划Go语言学习的知识点

1.搭建Http服务
2.连接数据库
3.本地IO
4.多线程
5.网络
6.调用本地命令
7.调用C语言代码

首先,搭建一个静态的服务器
我写程序喜欢使用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

查看网页,一切正常。

这样Go语言以不到50行代码,编译之后不到7M的可执行文件,就实现了一个简易的静态服务器。

您可能感兴趣的文章:
  • golang搭建静态web服务器的实现方法

标签:运城 楚雄 深圳 喀什 湘潭 本溪 九江 晋城

巨人网络通讯声明:本文标题《Go语言实现简单的一个静态WEB服务器》,本文关键词  语言,实现,简单,的,一个,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《Go语言实现简单的一个静态WEB服务器》相关的同类信息!
  • 本页收集关于Go语言实现简单的一个静态WEB服务器的相关信息资讯供网民参考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推荐文章