文档章节

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

itfanr
 itfanr
发布于 2014/11/16 10:20
字数 236
阅读 264
收藏 8

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

本文转载自:http://www.jb51.net/article/56869.htm

共有 人打赏支持
itfanr
粉丝 115
博文 452
码字总数 162147
作品 1
济南
程序员
Go语言实现的一个简单Web服务器

这篇文章主要介绍了Go语言实现的一个简单Web服务器,本文先是给出一个使用http包建立的Web服务器源码,并对比了其它编程语言,需要的朋友可以参考下 Web是基于http协议的一个服务,Go语言里面提...

mickelfeng
2015/10/26
0
0
Node.js搭建WEB服务器

前言 这几天为了熟悉vue.js框架,还有webpack的使用,就准备搭建一个发布和浏览markdwon的简单WEB应用。原本是想着用bash脚本和busybox的httpd来作为后台服务,但是bash脚本解析和生成JSON非...

霖哲煌
08/14
0
0
深入分析JavaWeb Item1 -- JavaWeb开发入门

一、基本概念 1.1、WEB开发的相关知识   WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。   Internet上供外界访问的Web资源分为: 静态web资源(如html ...

小平果
2017/11/29
0
0
一、JavaWeb总结:JavaWeb开发相关概念与常见web服务器

一、基本概念 1.1、WEB开发的相关知识   WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。   Internet上供外界访问的Web资源分为: 静态web资源(如html ...

AAASSSSddd
2016/08/17
27
0
Tomcat详解及SNS系统的部署实现

前言:Tomcat是基于java研发的一个web容器,即web服务器,下面我们先简单介绍下Java 一 、Java 1、Java简介 Java是由Sun Micorsystems公司于1995年5月推出的Java面向对象程序设计语言(简称J...

jungege1216
2014/05/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

基于TP5的微信的公众号获取登录用户信息

之前讲过微信的公众号自动登录的菜单配置,这次记录一下在TP5项目中获取自动登录的用户信息并存到数据库的操作 基本的流程为:微信设置自动登录的菜单—>访问的URL指定的函数里获取用户信息—...

月夜中徘徊
今天
0
0
youTrack

package jetbrains.teamsys.license.runtime; 计算lis package jetbrains.ring.license.reader; 验证lis 安装后先不要生成lis,要把相关文件进行替换 ring-license-checker-1.0.41.jar char......

max佩恩
今天
0
0
12.17 Nginx负载均衡

Nginx负载均衡 下面的dig看到可以返回2个IP,就是解析出来的IP,这样我们可以做负载均衡。 dig www.qq.com 1.vim /usr/local/nginx/conf/vhost/fuzai.conf 2.添加如下配置 upstream qq //定义...

芬野de博客
今天
0
0
SSE(Server Send Event 服务端发送事件)

package com.example.demo.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframe......

Canaan_
今天
0
0
jvm调优

1.jvm运行模式 client模式:启动快,占用内存少,jit编译器生成代码的速度也更快. server模式:主要优势在于代码优化功能,这个功能对于服务器应用而言尤其重要. tiered server模式:结合了client与...

Funcy1122
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部