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中间件的使用的更多相关文章

  1. 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 ...

  2. node.js 中间件

    node.js 中间件 node.js middleware Express middleware body-parser cookie-parser cookie-session cors csur ...

  3. Node.js Web 开发框架大全《中间件篇》

    这篇文章与大家分享优秀的 Node.js 中间件模块.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处 ...

  4. Node.js学习笔记——Node.js开发Web后台服务

    一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...

  5. Node.js Express 框架

    Node.js Express 框架 Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP ...

  6. Node.js Express框架

    Express 介绍 Express是一个最小的,灵活的Node.js Web应用程序框架,它提供了一套强大的功能来开发Web和移动应用程序. 它有助于基于Node Web应用程序的快速开发.下面是一 ...

  7. Node.js学习系列1

    概述 最近在刷javascript的技能,觉着nodejs是个不错的入口,作为一个.Net平台的前端工程师学习使用js开发服务端,想想都有点小激动哈哈^_^^_^. 入门 之前开发过ionic,所以对 ...

  8. Node.js服务端框架谁才是你的真爱

    1. Express 背景: Express, 疯一般快速(而简洁)的服务端JavaScript Web开发框架,基于Node.js和V8 JavaScript引擎. Express 是一个基于 No ...

  9. Node.js开发Web后台服务

    一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...

随机推荐

  1. tp5 -- join注意事项

    使用数据库关联查询的时候,有时候会避免不了两个表格字段名称都一样的尴尬, 这时候管理查询出来的只有其中一个表格字段名称的数据,因为在相同字段名称的情况下,数据会自动覆盖. 这时候,我们只需要给其中一个 ...

  2. sql语句-------重复时插入更新

    ON DUPLICATE KEY UPDATE重复时插入更新 insert into user(id,username) value('231',"二人") on duplicat ...

  3. webpack3 babel相关

    babel 链接地址 在index.js中写入js6的语法如 let fn = (){ console.log('this is es6') } 执行npm run build 在打包出来的js文件中 ...

  4. 20199308《Linux内核原理与分析》第十二周作业

    一.实验简介 竞态条件是指多个线程同时访问或者操作同一块数据,运行的结果依赖于不同线程访问数据的顺序.如果一个拥有root权限的程序存在竞态条件漏洞的话,攻击者可以通过运行一个平行线程与漏洞程序竞争, ...

  5. Spring5参考指南:AspectJ高级编程之Configurable

    文章目录 遇到的问题 @Configurable 原理 重要配置 遇到的问题 前面的文章我们讲到了在Spring中使用Aspect.但是Aspect的都是Spring管理的Bean. 现在有一个问题, ...

  6. 什么是.pyc文件

    1. Python是一门解释型语言? Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在. 如果是解释型语言,那么生成的*.pyc文件是什么呢?c应该是compiled ...

  7. KafkaConsumer assign VS subscribe

    背景 在kafka中,正常情况下,同一个group.id下的不同消费者不会消费同样的partition,也即某个partition在任何时刻都只能被具有相同group.id的consumer中的一个消 ...

  8. Tomcat中的类是怎么被一步步加载的?

    了解Tomcat的类加载机制,原来一切是这么的简单. 一.类加载 在JVM中并不是一次性把所有的文件都加载到,而是一步一步的,按照需要来加载. 比如JVM启动时,会通过不同的类加载器加载不同的类.当用 ...

  9. angularJS中$http.get( ).success( )报错原因及解决方案

    一.问题描述: 电脑安装的angular1.6.7版本,项目中使用了$http.get( ).success( ),控制台报错: $http.get(...).success is not a fun ...

  10. Leetcode---Solutions&Notes

    Leetcode已经成为面试必备技能之一,为了紧随潮流,也模仿大佬们刷刷题. 1.采用"龟系"做法,每道题尽量做到时间复杂度和空间复杂度的较优水平: 2.每道题的Solution先 ...