Node.js中间件的使用
1.中间件
为主要的业务逻辑服务;接收到请求,以及做出响应
应用级中间件、路由级中间件、内置中间件、第三方中间件、错误处理中间件
(1)路由级中间件
路由器的使用
(2)应用级中间件
也称为自定义中间件,是一个函数(回调函数)
app.use( '/reg', function(req,res,next){ } )
拦截url为/reg的路由;
next是一个函数,表示执行下一个中间件或者路由
(3)内置中间件
app.use( express.static('托管的目录') )
把所有的静态资源托管到某个目录,如果浏览器请求静态资源,自动到该目录下寻找,无需创建路由
练习: 把静态资源托管到 files 目录。
(4)第三方中间件
body-parser中间件使用
|
//1.下载安装 npm install body-parser; //2.引入中间件模块 const bodyParser=require('body-parser'); //3.使用中间件 //将post请求数据解析为对象 app.use( bodyParser.urlencoded({ extended:false //不使用第三方的qs模块解析查询字符串为对象,而是使用querystring模块 }) ) //4.在post请求的路由中 req.body 返回对象 |
2.获取数据的方式
|
名称 |
形式 |
获取(路由) |
|
get |
lid=&pname=dell |
req.query |
|
路由传递 |
/shopping/ |
req.params |
|
post |
无法通过url查看 |
req.body 前提需要使用中间件body-parser |
3.mysql模块
mysql.exe -h127.0.0.1 -P3306 -uroot -p
mysql -uroot
INSERT INTO emp VALUES(...)
DELETE FROM emp WHERE eid=5;
UPDATE emp SET upwd='1234',sex=0 WHERE eid=4;
SELECT * FROM emp;
|
//创建连接对象 var connection=mysql.createConnection({}) //建立连接 connection.connect() //执行SQL语句 connection.query(sql语句, callback) err 可能产生的错误 result SQL语句的执行结果 //关闭连接 connection.end() |
执行删除、修改、插入返回对象,如果返回对象的属性中affectedRows大于0,说明执行成功。
执行查询返回数组
用户名和密码同时满足的结果,返回一条数据
SQL注入
SELECT * FROM user WHERE uname='root' AND upwd='123456' or 1=1;
|
使用连接池 //connectionLimit 用于设置连接池的大小,默认15个 var pool=mysql.createPool( {} ); //执行SQL语句 pool.query(sql语句,callback) |
Node.js中间件的使用的更多相关文章
- 64。node.js 中间件express-session使用详解
转自:http://jinjiakarl.com/2018/06/09/node-js-%E4%B8%AD%E9%97%B4%E4%BB%B6express-session%E4%BD%BF%E7%9 ...
- node.js 中间件
node.js 中间件 node.js middleware Express middleware body-parser cookie-parser cookie-session cors csur ...
- Node.js Web 开发框架大全《中间件篇》
这篇文章与大家分享优秀的 Node.js 中间件模块.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处 ...
- Node.js学习笔记——Node.js开发Web后台服务
一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...
- Node.js Express 框架
Node.js Express 框架 Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP ...
- Node.js Express框架
Express 介绍 Express是一个最小的,灵活的Node.js Web应用程序框架,它提供了一套强大的功能来开发Web和移动应用程序. 它有助于基于Node Web应用程序的快速开发.下面是一 ...
- Node.js学习系列1
概述 最近在刷javascript的技能,觉着nodejs是个不错的入口,作为一个.Net平台的前端工程师学习使用js开发服务端,想想都有点小激动哈哈^_^^_^. 入门 之前开发过ionic,所以对 ...
- Node.js服务端框架谁才是你的真爱
1. Express 背景: Express, 疯一般快速(而简洁)的服务端JavaScript Web开发框架,基于Node.js和V8 JavaScript引擎. Express 是一个基于 No ...
- Node.js开发Web后台服务
一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...
随机推荐
- opencv-3-图片存储与相对路径
opencv-3-图片存储与相对路径 opencvqtC++ 在上一篇文章opencv 显示第一副图像 中, 我们完成了一副图像的显示, 包括使用VS,和QT 进行显示.. 本文将展示如何进行图像的显 ...
- Gym 101194D Ice Cream Tower
被一道数位DP折磨得欲仙欲死之后,再做这道题真是如同吃了ice cream一样舒畅啊 #include<bits/stdc++.h> using namespace std; #defin ...
- IDEA 之 常用快捷键
1. 编辑 No. 快捷键 功能描述 01 Ctrl+Space 补全代码 02 Ctrl+Shift+Space 补全代码,添加分号结束符 03 Ctrl+q 展示某个类或方法的API说明文档 04 ...
- 【Linux题目】第七关
1. 如果想修改开机内核参数,应该修改哪个文件? A. /dev/sda1 B. /etc/fstab 磁盘自动挂载的文件 C. /boot/grub/grub.conf D. /etc/rc.loc ...
- 团队一致性的PHP开发环境之Docker
docker php环境模型 docker 简介 Docker 是一个开源的应用容器引擎 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现 ...
- 使用mysqldump自动备份数据库脚本
每天利用计划任务在凌晨1点自动执行,备份zabbix的数据库至本地的/backup/mysql_backup目录 #!/bin/sh DUMP=/usr/bin/mysqldump OUT_DIR=/ ...
- bind()函数的深入理解及两种兼容方法分析
在JavaScript中,bind()函数仅在IE9+.Firefox4+.Chrome.Safari5.1+可得到原生支持.本文将深入探讨bind()函数并对两种兼容方法进行分析比较.由于本文将反复 ...
- FileStream提示文件正在由另一进程使用的解决方法
文件正在由另一进程使用…… FileStream fs = new FileStream(strFilePath, FileMode.Open,FileAccess.Read,FileShare.Re ...
- F. Multicolored Markers 暴力+二分
F. Multicolored Markers 题目大意: 给你 a个红块 b个蓝块 拼成一个实心矩形,并且要求红块或者蓝块自成一个矩形,问形成的这个矩形最小的周长是多少. #include < ...
- J - Super Mario HDU - 4417 线段树 离线处理 区间排序
J - Super Mario HDU - 4417 这个题目我开始直接暴力,然后就超时了,不知道该怎么做,直接看了题解,这个习惯其实不太好. 不过网上的思路真的很厉害,看完之后有点伤心,感觉自己应该 ...