//表单处理
package main
import (
    "net/http"
    "io"
    "fmt"
    "log"
)
const form = `<html><body>
        <form action="#" method="post" />
            <input type="text" name="name" />
            <input type="text" name="pass" />
            <input type="submit" value="submit" />
        </form>
        </body></html>`
func deal2 (w http.ResponseWriter, r *http.Request) {
    w.Header().Set("Content-Type", "text/html")
    //Method 代表指定的http方法
    switch r.Method {
        case "GET":
            //io.WriteString(w, s string) 将字符串的s写入w中
            io.WriteString(w, form)
        case "POST":
            //func (*Request) PostFormValue
            //PostFormValue返回key为键查询r.PostForm字段得到结果[]string切片的第一个值
            io.WriteString(w, r.PostFormValue("name"))
            io.WriteString(w, "\n")
            io.WriteString(w, r.PostFormValue("pass"))
    }
}       
//panic 处理
func logsPanic (handle http.HandlerFunc) http.HandlerFunc {
    return func(w http.ResponseWriter, r *http.Request) {
        defer func () {
            if x := recover(); x != nil {
                log.Printf("[%v] catch panic:%v", r.RemoteAddr, x)
            }
        }()
        handle(w, r)
    }
}
func main () {
    http.HandleFunc("/test1", func (w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "<h1>hello world</h1>")
    })
    http.HandleFunc("/test2", logsPanic(deal2))
    if err := http.ListenAndServe("localhost:10010", nil); err != nil {
        fmt.Println("listen server failed, error:", err)
        return
    }
}

  

go http简单的表单处理的更多相关文章

  1. 带有两个输入字段和相关标记的简单 HTML 表单:

    带有两个输入字段和相关标记的简单 HTML 表单: 意思就是说Male 和id="male"绑定在一起. <html> <body>   <p> ...

  2. 【java学习】Servlet简单的表单程序(一)

    此文用于java学习,在此小记. 在此小Demo中使用到了Servlet,所以有必要了解一下Servlet的相关知识.(Servlet的相关知识摘抄自http://blog.csdn.net/jiuq ...

  3. 用jQuery写的最简单的表单验证

    近几天完成了关于我们项目的最简单的表单验证,是用jQuery写的,由于之前也一直没学过jQuery,所以自己也是一直处于边摸索边学习的阶段,经过这一段时间的学习,通过查资料啥的,也发现了学习jQuer ...

  4. angularjs学习第四天笔记(第一篇:简单的表单验证)

    您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点 ...

  5. Struts2之Action三种接收参数形式与简单的表单验证

    有了前几篇的基础,相信大家对于Struts2已经有了一个很不错的认识,本篇我将为大家介绍一些关于Action接收参数的三种形式,以及简单的表单验证实现,下面进入正题,首先我们一起先来了解一下最基本的A ...

  6. Maven web项目(简单的表单提交) 搭建(eclipse)

    我们将会搭建一个,基于Maven管理的,具有简单的表单提交功能的web项目,使用DAO--service--WEB三层结构,服务器使用Tomcat 1 项目基本结构的搭建 左上角File---> ...

  7. [WPF自定义控件库]简单的表单布局控件

    1. WPF布局一个表单 <Grid Width="400" HorizontalAlignment="Center" VerticalAlignment ...

  8. 使用 layUI做一些简单的表单验证

    使用 layUI做一些简单的表单验证 <form method="post" class="layui-form" > <input name ...

  9. 简单js表单验证

     简单js表单验证demo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org ...

  10. jQuery学习之路(5)- 简单的表单应用

    ▓▓▓▓▓▓ 大致介绍 接下来的这几个博客是对前面所学知识的一个简单的应用,来加深理解 ▓▓▓▓▓▓ 单行文本框 只介绍一个简单的样式:获取和失去焦点改变样式 基本结构: <form actio ...

随机推荐

  1. 【转】JDK5.0中JVM堆模型、GC垃圾收集详细解析

    基本概念 堆/Heap JVM管理的内存叫堆:在32Bit操作系统上有4G的限制,一般来说Windows下为2G,而Linux下为3G:64Bit的就没有这个限制.JVM初始分配的内存由-Xms指定, ...

  2. expdp导出卡住问题诊断

    本文链接:https://blog.csdn.net/guogang83/article/details/78800487 [oracle@database ~]$nohup expdp gg/gg ...

  3. python:如何获取当前的日期和时间

    # coding=utf-8 import datetime import time print ("格式参数:") print (" %a 星期几的简写") ...

  4. Cesium原理篇:6 Renderer模块(1: Buffer)【转】

    https://www.bbsmax.com/A/n2d9P1Q5Dv/ 刚刚结束完地球切片的渲染调度后,打算介绍一下目前大家都很关注的3D Tiles方面的内容,但发现要讲3D Tiles,或者充分 ...

  5. 制作基于软盘的Linux系统

    制作基于软盘的Linux系统(张宏伟.欧阳平平 2001年07月26日 11:22) 嵌入式Linux由一个几百KB的kernel(内核)和一些根据需要进行定制的系统模块组成.由于Linux是开放源代 ...

  6. MVC框架的主要问题是什么?

    以下是MVC框架的一些主要问题: 对 DOM 操作的代价非常高 程序运行缓慢且效率低下 内存浪费严重 由于循环依赖性,组件模型需要围绕 models 和 views 进行创建

  7. elementUI el-table合并单元格

    合并单元格,如果id列值一致,则合并. <el-table :data="tableData6" :span-method="objectSpanMethod&qu ...

  8. [转]JVM调优总结 -Xms -Xmx -Xmn -Xss

    Xms 是指设定程序启动时占用内存大小.一般来讲,大点,程序会启动的快一点,但是也可能会导致机器暂时间变慢. Xmx 是指设定程序运行期间最大可占用的内存大小.如果程序运行需要占用更多的内存,超出了这 ...

  9. PHP7 MongoDB 使用方法

    原文链接: http://www.zhaokeli.com/article/8574.html MongoDb原生操作 Mongodb连接 PHP7 连接 MongoDB 语法如下: 复制代码 $ma ...

  10. linux非root用户安装ncurses-devel依赖

    很明显,如果我们通过yum或rpm下载安装,始终无法绕开root用户,除非我们不用yum或rpm.嗯,我们直接用源码安装.下载源码包,到http://ftp.gnu.org/gnu/ncurses/我 ...