首页 > 软件开发 > 职坐标web前端开发有什么奥秘

快速发布【软件开发】相关需求,专业顾问为您服务 快速发布

用此手机号发布,您还可以点击 更换

发布需求
请输入正确的手机号
请输入正确的验证码

您是不是要找:

  • 专家问诊,提供专业建议
  • 急速响应,体验省心
  • 根据需求灵活定制解决方案

职坐标web前端开发有什么奥秘

标签:职坐标web前端开发 2017-8-08 作者:钟静123

  web被称为云计算时代的C语言,它以其独特的优势逐渐被越来越多的公司所关注和使用。下面随小编一起看看职坐标web前端开发吧。

 

  登陆页面需要提交用户名和密码,将用户名和密码和mysql数据库中的用户名密码比对达到验证的效果。web数据库的go语言驱动推荐使用web。

 

  当用户名和密码正确的时候,需要在cookie中种下用户名和加密后的密钥来进行cookie认证。我们不对cookie设置ExpireTime,这样这个cookie的有效期就是浏览器打开到浏览器关闭的session期间。

 

  另外,这个页面还需要加载一个js。提交用户名和密码的是由js进行ajax post命令进行查询的。

 

  这个页面需要加载css,进行页面排版

 

  首页是非常简单,但它是一个动态页面。

 

  首先右上角的”欢迎登陆, 管理员:web “。这里的用户名web是根据不同的用户会进行变化的。这里需要用到模版,我们又会用到了一个模版包web。这个包的作用就是加载模版。

  分析下访问路径,会有几个文件:

 

  /admin/index -- 首页

 

  /login/index --登陆页显示

 

  /ajax/login -- 登陆的ajax动作

 

  /css/main.css -- 获取main的css文件

 

  /js/login.js -- 获取登陆的js文件

 

  在net/http包中动态文件的路由和静态文件的路由是分开的动态文件使用http.HandleFunc进行设置静态文件就需要使用到http.FileServer

 

  这里的http.FileServer(http.Dir("template"))的路径是怎么算的要注意下了。相对路径都是从当前执行路径路径下开始算的,这里设置的路径树是这样:

 

  关于http.HandleFunc如果不理解请参考我的上一篇文章

 

这里需要定制4个web对应相应的一级路径。我们将这些个web都放入到web文件中

 

  main中的逻辑是都不符合路径的时候就进入404页面处理器NotFoundHandler

 

强烈推荐使用template.ParseFile模版文件解析

 

  template包中也提供了web这类直接在代码中写上模版的函数。使用起来,你会发现这类函数远没有web好用,原因很明显,如果你把模版写在代码中,一旦模版需要进行小细节的修改,也需要重新编译。并且我们使用模版的目的就是将显示逻辑和业务逻辑分离,Parse会导致整个代码是不可维护!

 

  当然有人会考虑到效率问题,一个是读取文件,一个是直接读取内存。但是我觉得这点效率差别用户根本不会察觉到,牺牲极小的性能保证工程性是很值得的。

 

  web中的路径问题也是很容易犯的问题。这里的填写相对路径,则文件是从当前执行的路径开始算。

  比如这个路径,执行bin/webdemo,template/html/404.html就对应/go/gopath/template/html/404.html

 

  func loginHandler(w http.ResponseWriter, r *http.Request) {

 

  pathInfo := strings.Trim(r.URL.Path, "/")

 

  parts := strings.Split(pathInfo, "/")

 

  var action = ""

 

  if len(parts) > 1 {

 

  根据MVC思想,对具体的逻辑内容使用不同的Controller,这里定义了一个loginController, 使用reflect将web映射成为controller中的方法。

 

  这样做的好处显而易见:

 

  清晰的文件逻辑。不同的一级目录分配到不同的控制器,不同的控制器中有不同的方法处理。这些控制器放在一个独立的文件中,目录结构清晰干净。

 

  2 路由和业务逻辑分开。 web中的http.HandleFunc处理一级路由,route处理二级路由,controller处理业务逻辑,每个单元分开处理。

 

  下面需要创建template/html/login/index.html

 

  这个文件中包含mian.css, jquery.js, base.js。 创建这些css和js。具体的css和js内容请看github源码

 

  js中的逻辑是这样写的:当login表单提交的时候,会调用/ajax/login进行验证操作,下面就开始写ajax的处理器

 

  web处理器

 

  route中的ajaxHandler和loginHandler是大同小异,这里就忽略不说了,具体说一下ajaxController

 

  err := r.ParseForm()

  admin_name := r.FormValue("admin_name")

  defer db.Close()

 

  rows, res, err := db.Query("select * from webdemo_admin where admin_name = '%s'", admin_name)

  这段代码有几个地方可以看看:

 

  如何设置web:

 

  w. webr().Set("content-type", "application/json")

 

  以上就是小编为大家带来的职坐标web前端开发,希望对大家有所帮助。


最新文章推荐

软件开发暂无最新文章查看全部推荐文章>

推荐人才