cloudgo-io ----- 处理web程序的输入与输出

任务要求:

编程 web 应用程序 cloudgo-io,实现:

  • 支持静态文件服务
  • 支持简单 js 访问
  • 提交表单,并输出一个表格
  • 对 /unknown 给出开发中的提示,返回码 5xx

参考资料:

老师的教程:https://blog.csdn.net/pmlpml/article/details/78539261


实现:

【前期准备】

文件一共引用了三个额外的库,需要先从对应的github地址中克隆到自己的github.com的文件夹里
三个库分别是

"github.com/codegangsta/negroni" //库
"github.com/gorilla/mux"         //路由功能
"github.com/unrolled/render"

克隆的操作就是cd到gopath的src下的github.com文件夹中,然后mkdir对应的文件夹(如codegangsta),然后再cd进去 clone就可以了,操作如图示
在这里插入图片描述

【文件结构】

其中【assets】放的是网页的素材和js文件,service里面放的是处理的逻辑实现,templates中是表格的模板
在这里插入图片描述

【代码实现】

代码实现可以参考上面给出的老师的教程,非常详细,按照老师给出的代码模块进行适当的修改就能实现了。

【静态文件服务】

编写好文档后cd到文件的目录,go run main.go,此时显示占用的端口8080

在这里插入图片描述

打开网页可看到定义好的网页

【未放入html文件时候显示的是当前文件夹下的所有文件】

在这里插入图片描述

【放入后显示具体的网页】
在这里插入图片描述

【按照教程尝试时候handler实现不同后缀的相应】
在这里插入图片描述

【简单js访问】

在这里插入图片描述

【提交表单并输出表格】

【输入】
在这里插入图片描述

【输出表格】(submit后)
在这里插入图片描述

【控制台记录】
在这里插入图片描述

【对 /unknown 给出开发中的提示,返回码 501】

在这里插入图片描述

具体实现可以参考我的github:https://github.com/yezo13/cloudgo-io

【一些坑】

1.写web的时候更新代码后需要刷新页面甚至清理缓存,否则有可能不能同步最新的代码,也可以安装一个chorme的插件实现同步更新。
在这里插入图片描述

2.之前实现的时候如果直接ctrl+c退出,程序虽然退出了,但占用的端口并没有被释放。因此再次go run main.go的时候就会提示8080端口已经被占用,如下:
在这里插入图片描述

此时可以通过 netstat -ano | findstr 8080 这个指令找到占用端口的进程,然后用指令 taskkill -PID 端口号 -F 杀掉
如图示

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值