您的位置:首页 > 编程语言 > Go语言

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

2018-11-13 00:25 85 查看

任务要求:

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

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

参考资料:

老师的教程:https://www.geek-share.com/detail/2721717770.html

实现:

【前期准备】

文件一共引用了三个额外的库,需要先从对应的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
杀掉
如图示

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐