04_NodeJS搭建服务器

框架:是一整套解决方案,简化了已有的功能,添加了之前没有的功能

1.express框架

 基于Node.js平台,快速、开放、极简的WEB开发框架

 网址:www.expressjs.com.cn

 属于第三方的模块,需要先去下载安装

   npm  install  express

const express = require('express');

const app = express();//创建WEB服务器

app.listen(8080); //设置端口

 (1)路由

  路由用来处理不同的请求,根据请求的URL和请求的方法来做出特定的响应。

  路由的三要素:请求的URL、请求的方法、回调函数

  req  请求对象

  req.url   获取请求的URL

  req.method   获取请求的方法

  req.query   获取查询字符串传递的数据

  res  响应对象

  res.send()  设置响应的内容并发送

  res.redirect()   设置响应的重定向并发送

  res.sendFile()   设置响应的文件并发送,文件必须使用绝对路径(__dirname)

以上响应在一个路由中只能调用一次

 练习:编写03_express.js,引入express,创建web服务器并设置端口为8080;添加路由(get  /search),响应文件search.html

  ‘<h2>用户搜索</h2>’

 练习:根据表单的请求添加路由(get  /mysearch),响应'搜索成功'

 练习:添加路由(get  /login),响应文件login.html

  

  练习:用户输入用户名和密码,点击提交;添加对应的路由(post  /mylogin),响应‘登录成功’

 

 

传递方式

格式

路由获取

get传递

查询字符串

http://127.0.0.1:8080/mysearch?kw=笔记本&id=2

req.query 格式为对象

post传递

采用流的方式,不可见

通过事件的方式

req.on('data', (chunk)=>{

  chunk 获取的数据,格式为buffer,转字符串后为查询字符串,需要借助查询字符串模块解析为对象

})

路由传参

http://127.0.0.1:8080/package/express

app.get('/package/:pname',(req,res)=>{

  req.params  获取路由传参的数据,格式为对象

})

 对比get和post传递数据的区别

  get传递的数据格式为查询字符串,URL中可见;post传递的方式用流的方式,URL中不可见;post传递更加安全,通常注册、登录会使用;get传递的速度更快,通常搜索的时候使用

  get传递的数据有大小限制,根据不同的浏览器大小不同,范围2~8k之间,post没有大小限制

 

 练习:创建添加到购物车的路由(get  /shopping),传递商品的编号lid、购买的数量count、用户的编号uid,最后响应以下内容

  商品的编号:xx

  购买的数量:xx

  用户的编号:xx

   /shopping/30&1&5

 

课后任务

 (1)复习今天内容,整理思维导图

 (2)练习:创建WEB服务器,设置端口,添加路由(get  /reg),响应注册的文件reg.html,点击提交向服务器发送请求(post  /myreg),创建路由接收请求,并获取传递的数据,响应“注册成功”

 (3)预习nodejs第5天   中间件、正则表达式

  

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值