Go创建web应用

P1课程准备和一个demo1、安装go和IDE下载工具2、新建一个web-tutorial文件夹3、创建main.go4、运行p2:handler请求1、处理请求:(1)创建web serverhttp.ListenAndServer()第一个参数是网络地址:如果为“”,那么就是所有网络接口的80端口。第二个参数是handler“如果为nil,那么就是defaultServerMuxDefaultServeMux是一个multiplexer(可以看作是路由器)htt
摘要由CSDN通过智能技术生成

对应视频:https://www.bilibili.com/video/BV1Xv411k7Xn

P1课程准备和一个demo

1、安装go和IDE
下载工具
在这里插入图片描述

在这里插入图片描述
2、新建一个web-tutorial文件夹
在这里插入图片描述
3、创建main.go
在这里插入图片描述
4、运行
在这里插入图片描述

p2:handler请求

1、处理请求:
在这里插入图片描述
(1)创建web server

http.ListenAndServer()

第一个参数是网络地址:如果为“”,那么就是所有网络接口的80端口。
第二个参数是handler“如果为nil,那么就是defaultServerMux

  • DefaultServeMux
    是一个multiplexer(可以看作是路由器)
  • http.Server这是一个struct
    Addr字段表示网络地址:如果为”“,表示所有网络接口的80端口
    handler字段:如果为nil,那就是defultServeMux
handler是一个接口
handler定义了一个方法ServeHTTP():HTTP Response Writer,指向Request这个struct的指针。
defultServeMux
是一个Multiplexer(多路复用),特也是一个handler

defultServeMux
defaltServeMux

ListenAndServe()函数
总结:两个方式创建web server

方法1 方法2
http.Server可配置,后调用server.ListenAndaServe() http.ListenAndServe(“localhost:8080”,nil)

在这里插入图片描述

package main
import "net/http"
type myHandler struct{
   }
func (m *myHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
   
	w.Write([]byte("hello SLZ"))
}
func main() {
   
	mh := myHandler{
   }
	server := http.Server{
   
		Addr:    "localhost:8080",
		Handler: &mh,
	}
	server.ListenAndServe()
	//等价于:http.ListenAndServe("localhost:8080",nil)
}

(2)但是,上述方法在任何8080端口都输出同一个内容
仅http://localhost:8082/hello下展示


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值