分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

Node.js_express_中间件 middleware_登录/注册实例

发布时间:2023-09-06 02:27责任编辑:傅花花关键词:jsNode

静态资源:

都写死了的资源,如 css,html

解析规则:

所有路由中间件都在一个数组中,js 引擎会按照代码先后顺序添加路由中间件

当请求发送到服务器时,服务器获取当前的请求信息(请求方式、请求路由路径)

遍历数组,找到第一个匹配请求路由路径请求方式必须完全一致)到的路由或者中间件,执行其回调函数

意味着: 声明多个同名路由时,始终解析第一个

如果没找到,返回一个状态码为 404 的响应, Cannot GET / xxx    或者  Cannot POST / xxx

中间件 middleware

当有多个路由做同一件事情,这时就会交给中间件去完成

本质上就是一个函数 (request, response, next)=>{}

express 框架 实现服务器    完全是由 路由 和 中间件 组成的

需要调用 next() 方法,才会接下来处理下面的中间件或者路由,否则卡住了

  • app.use(express.static(‘./public‘));    //默认调用next

接受请求,通过分析参数,找到了 public 对应资源就返回响应

将该文件夹下所有静态资源暴露出去

例如: 文件夹有 

public/index.html

public/css/index.css

就可在浏览器访问

127.0.0.1:3000/index.html

127.0.0.1:3000/css/index.css

  • app.use(express.urlencoded({extended: true}));    //默认调用next

解析 请求体 数据,结果数据挂载到 req.body 上

  • 实例分析: 
  • // 1. 导入 express 模块const express = ?require(‘express‘);// 2. 创建 app 应用对象const app = express();// 3. 写业务逻辑:处理请求,返回响应 ?? ??????/**** 配置内置 中间件 (express 自带) ****/ ???// 将该文件夹下所有静态资源暴露出去
    ???// 接受请求,通过分析参数,找到了 public 对应资源就返回响应 ???app.use(express.static(‘./public‘)); ???// public 下有 index.html css/index.css ???// 可在127.0.0.1:3000/index.html ???css/index.css ???????// 解析请求体数据,结果数据挂载到 req.body 上 ???app.use(express.urlencoded()); ??
    // 默认调用 next() ???/**** 以上两个一般结合使用 ****/

    ???// 中间件默认能接收并处理所有请求
    ???// 需要调用 next() 方法,才会接下来处理下面的中间件或者路由,否则卡住了
    ???app.use((request, response, next)=>{
    ???????next(); ???// 调用下一个中间件或者路由
    ???}); ???/**************************************/
    ???????// route 路由的组成: app.请求方式(‘/路由路径‘, 句柄函数); ???????app.get(‘/login‘, (request, response)=>{ ???????console.log(request.body); ???????response.send(‘Login Page Response!‘); ???}); ???app.post(‘/register‘, (request, response)=>{ ???????console.log(request.query); ???????response.send(‘Register Page Response!‘); ???});// 4. 监听端口号:一个端口号 有且只能运行 一个程序app.listen(3000, err=>console.log(err?err:‘服务器启动成功 : ?http://127.0.0.1:3000‘));

登录/注册实例

  • 什么时候用 get ,什么时候用 post?

1. 凡是涉及到用户的隐私数据,就用 post

2. 其他就用 get

  • 业务逻辑

1. 导入 exoress 框架

2. 注册路由

由于默认访问不到静态资源,所以1引入中间件,暴露静态资源

默认不能解析 请求体 ,则2引入中间件,解析 请求体 数据(优先级低于上一中间件,避免多余分析)

获取用户提交的表单数据        req.body

对数据库进行正则验证(验证数据的规范)    

检查用户名是否存在

连接数据库

User.findOne();

保存在数据库中        

User.create();

无论 失败/成功 都要返回

3. 登录路由

4. 设置端口号,启动服务器监听

  • 项目目录

/public/register.html

/public/login.html

app.js

Node.js_express_中间件 middleware_登录/注册实例

原文地址:https://www.cnblogs.com/tianxiaxuange/p/10157205.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved