0


go搭建服务器基础

goweb应用工作原理(用于个人学习)

​ 客户端发送请求给多路复用器,多路复用器根据请求------->处理器处理器-------->模型------->数据库

数据库找到相应的数据反馈给模型,模型将数据封装发给处理器 ,处理器给模板引擎然后生成模板

在这里插入图片描述

go里面有相应的http的包直接调用即可,这一点比java相对方便很多,下面有几种方式可以搭建服务器

hanglerFunc方式

package main    //声明包import(//导入包    "fmt"//打印使用"net/http"//  http服务使用)//处理器funchangler(w http.ResponseWriter, r *http.Request){//名称可以随意命名   函数的参数不可随意命名
    fmt.Fprintln(w,"hello goweb", r.URL.Path)//写到前台页面上去}funcmain(){
    http.HandleFunc("/", hangler)//更具web原理  添加路径 添加处理器   将路径和处理器产生关联
    http.ListenAndServe(":8080",nil)// 端口号   }

Mux多路复用方式

package main

import("fmt""net/http")funchangler(w http.ResponseWriter, r *http.Request){
    fmt.Fprintln(w,"hello goweb", r.URL.Path)}funcmain(){
    mux := http.NewServeMux()//多路服务器处理请求
    http.HandleFunc("/", hangler)
    http.ListenAndServe(":8080", mux)}

handle

package main  //声明包import("fmt"// 打印"net/http"// http"time")type Myhangdler struct{}//定义结构体func(m *Myhangdler)ServeHTTP(w http.ResponseWriter, r *http.Request){
    fmt.Fprintln(w,"通过自己创建的处理器处理请求自定义hangler")}funcmain(){
    myhangdler := Myhangdler{}//实例化接工体
    server := http.Server{
        Addr:":8080",//声明端口
        Handler:&myhangdler,//声明处理器
        ReadTimeout:2* time.Second,//读取时间设置}
    server.ListenAndServe()// 应用到监听中去//http.Handle("/myhangler", &myhangdler)//http.ListenAndServe(":8080", nil)}

本文转载自: https://blog.csdn.net/weixin_43878062/article/details/125470087
版权归原作者 出现一片乱码 所有, 如有侵权,请联系我们删除。

“go搭建服务器基础”的评论:

还没有评论