NodeJs(day05)

复习

练习: 创建 web 服务器, 创建一个商品路由器, 添加路由, 挂载到 /product
web 服务器
请求 request
响应 response

中间件

为主要的业务逻辑服务的; 可以接收到请求, 以及做出响应
应用及中间件、路由级中间件、内置中间件、第三方中间件、错误处理中间件

  1. 路由级中间件
    路由器的使用

  2. 应用级中间件
    也成为自定义中间件, 是一个函数(回调函数)
    app.use("/reg", callBack(req, res, next))
    拦截 url 为 /reg 的路由;
    next 是一个函数表示执行下一个中间件或者路由

  3. 内置中间件

```javascript
  app.use(express.static("托管目录"))
```
- 把所有的静态资源托管到某一个目录, 如果浏览器请求静态资源, 自动到该
  目录下寻找, 无需创建路由做出响应

- 练习: 把静态资源托管到 file 目录 
  1. 第三方中间件
    body-parser 中间件使用(在 express 4.16+ 已经将 body-parser 引入为内置插件)
```javascript
//1. 下载安装
npm install body-parser(这里可以不用下载)
//2. 引入中间件
const bodyParser = require("body-parser");
//3. 使用中间件
//将 post 请求数据解析为对象
app.use(bodyParser.urlencoded({  (这里使用 express 调用)
  extended: false //不使用第三方 qs 解析查询字符串为对象而是使用 querystring 核心模块 来解析
}));
//4. 在 post 请求的路由中
request.body //返回对象
```

获取数据的方式

  • GET 传递 和 接收
    传递: lid=1&pname=dell
    接收: request.query

  • 路由 传递 和 接收
    传递: /shopping/4999
    接收: request.params

  • POST 传递 和 接收
    传递: 表单(目前)无法通过 url 查看
    接收: request.body (需要使用中间件 body-parser)

mysql 模块

mysql.exe -hlocalhost -P3306 -uroot -p
mysql -uroot
INSERT INTO emp VALUES(…)
DELETE FROM emp WHERE eid=5;
UPDATA emp SET upwd=“1234”,sex=0 WHERE eid=4;
SELECT * FROM emp;

  • 建立连接

    //1. 创建连接对象
    let connection = mysql.createConnect({
      host: "127.0.0.1",
      port: "8080",
      user: "root",
      password: "",
      database: "tedu"
    });
    //2. 建立连接
    connection.connect();
    //3. 执行 SQL 语句
    connection.query(SQL语句, callBack(err, result));
    //[err] 错误信息
    //[result] 执行结果
    
    //4. 关闭连接
    connection.end();
    
    • 执行删除、修改、插入返回对象, 如果返回对象属性中 affectedRows 大于 0
      说明执行成功.

      执行 查询 返回 数组
      用户名和密码同时满足的结果, 返回一条数据

      SQL注入:
      SELECT * FROM user WHERE uname=“root” AND upwd=“123456”

  • 建立连接池连接

    //1. 使用连接池
    let pool = mysql.createPool({
      host: "127.0.0.1",
      port: 3306,
      user: "root",
      password: "",
      database: "tedu",
      connectionLimit: 20, //用于设置连接池的大小, 默认 15个
    });
    //2. 执行 SQL 语句
    pool.query(SQL语句, callBack(err, result));
    

项目(练习)

  1. 托管静态资源到 public 目录, 创建注册页面 user_reg.html
  2. 在 user.js 文件中创建路由器, 添加路由(post /reg), 导出路由器;
    在 app.js 引入路由器, 并挂载到 /user 下

课后任务

  1. 整理思维导图
  2. 练习:
    创建 web 服务器(服务器, 路由), 托管静态资源到 public 创建文件
    add.html 点击提交, 将数据插入到 tedu 下的数据表 dept 中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值