zoukankan      html  css  js  c++  java
  • Node.js学习笔记10--Express搭网站(2)

    1.创建路由规则:

    例如要创建/hello的页面:

    在index.js中添加:

    app.get('/hello',funciton( req, res, next ) {

      res.send("The server time is "+ new Date().toString());

    })

    app.get是路由规则创建函数,它接受两个参数,一个路由的路径,另一个参数是一个回调函数,该路由规则被触发时调用回调函数。

    2.路径匹配

    Express还支持更高级的路径匹配模式,例如:

    想要展示一个用户的个人页面,路径为/user/[username]

    app.get('/user/:username',function(req,res){

      res.send('user: '+req.params.username);

    })

    路由规则还支持JS正则表达式。

    3.REST风格的路由规则

    rest意思是: 表征状态转移(Representation State Transfer),它是基于HTTP协议的网络应用的接口风格。

    HTTP协议定义了8种标准风格:

    其中get,post,delete,put是常用的,特点是:

    其中的安全是指: 没有副作用,即请求不会对资源产生变动,连续访问多次所获得的结果不受访问者的影响。

    幂等是指: 重复请求多次与一次请求的效果是一样的。

    express为每种HTTP请求方式都设计了不同的路由绑定函数

    其中:app.all函数支持把所有的请求方式绑定到同一个响应函数,是一个非常灵活的函数。

    4.控制权转移

    express支持同一个路径绑定多个路由响应函数,但当访问任何被这两条同样的规则匹配到的路径时,请求总是被前一条路由规则捕获。(默认情况下是 先来先得

    原因是:express在处理路由规则时,会优先匹配先定义的路由规则,因此后面相同的规则被屏蔽。

    可以通过回调函数的第三个参数next,将路由控制权转移给后面的规则。

    通过调用next(),将路由控制权交给第二个规则,向后传递。

  • 相关阅读:
    ACM-ICPC 中可能会使用到的库
    ACM中java的使用
    Codeforces
    洛谷 P1879 玉米田(状压DP入门题)
    洛谷 P2622 关灯问题II(状压DP入门题)
    poj 2385 Apple Catching(记录结果再利用的动态规划)
    NOIP 提高组 2014 飞扬的小鸟(记录结果再利用的DP)
    2018.10.26 浪在ACM 集训队第四次测试赛
    NOIP 提高组 2014 联合权值(图论???)
    NOIP 普及组 2012 寻宝(思维???)
  • 原文地址:https://www.cnblogs.com/shixiaomiao/p/4970065.html
Copyright © 2011-2022 走看看