Node.js 如何使用会话变量

Node.js 如何使用会话变量

在本文中,我们将学习如何在Node.js中使用会话变量。

Node.js中的会话管理:

  • 会话管理是一种跟踪用户状态(数据)的技术。
  • 如果客户端向服务器发送请求,则其后跟HTTP协议。
  • HTTP是一种无状态协议。
  • 无状态协议意味着服务器会忘记客户端,并将每个请求视为新请求。
  • 状态由会话管理技术管理。

Node.js 如何使用会话变量

会话管理中的Cookies:

  • Cookie是一种会话管理技术。
  • Cookies以 键值对 的形式存储在客户端浏览器中的请求期间。
  • Cookie是服务器或网站用来记住你的一种方式。
  • Cookie是由服务器发送到浏览器的小 文本 数据。
  • 当浏览器向服务器发送请求时,服务器会在服务器端创建一个会话。当服务器响应浏览器时,Cookie会随响应一起发送至浏览器。
  • 之后,如果用户向服务器发送请求,Cookie将随请求一起发送。
  • 例如,当你入学时,你必须注册,注册后会给你一个ID或收据。第二次去学校时,你可以通过你的ID或收据被识别,不需要再次注册。

让我们举几个示例来更好地理解这个概念:

  1. 访问次数。
  2. 登录注销页面。

示例1: 客户端的访问计数器。当用户访问网站时,将为用户分配一个 cookie 并创建一个会话。下次用户访问时,通过cookie识别用户并更新变量。

“访问次数”所需的步骤如下:

步骤1: 在终端中使用以下命令初始化项目

npm init

步骤2: 在终端中安装以下所需模块。

npm install express express-session cookie-parser

步骤3: 按照下面的方式创建一个名为 app.js 的文件。

项目结构图像: 您的项目结构应该如下:

Node.js 如何使用会话变量

步骤4:app.js 文件中写下以下代码。

const express = require("express");
const session = require("express-session");
const cookieParser = require("cookie-parser");
const PORT = 4000;
 
const app = express();
 
// Initialization
app.use(cookieParser());
 
app.use(session({
    secret: "amar",
    saveUninitialized: true,
    resave: true
}));
 
 
app.get('/', (req, res) => {
    if (req.session.view) {
 
        // The next time when user visits, 
        // he is recognized by the cookie 
        // and variable gets updated.
        req.session.view++;
        res.send("You visited this page for "
            + req.session.view + " times");
    }
    else {
 
        // If user visits the site for
        // first time
        req.session.view = 1;
        res.send("You have visited this page"
           + " for first time ! Welcome....");
    }
})
 
// Host
app.listen(PORT, () =>
    console.log(`Server running at ${PORT}`));

步骤4: 在终端中使用以下命令运行该文件。

node app.js

输出: 每次访问同一页面,计数器的次数都会增加。

Node.js 如何使用会话变量

示例2:

假设有三个链接“登录”、“注销”和“个人资料”。在用户登录之前,用户不能直接访问个人资料。当用户登录时,会创建会话,并在注销后销毁会话。

方法:

我们要创建一个登录注销页面。当用户登录时,我们将其放入会话中,并在整个会话期间保持用户在该会话中。当用户注销时,我们将销毁会话。

“登录注销页面”所需的步骤如下:

步骤1:

初始化项目并创建 package.json 文件。

npm init

步骤2: 为项目安装以下必需的模块。

npm i express express-session cookie-parser

步骤3: 按照下面所示创建一个 app.js 文件

项目结构图片: 您的项目结构应该如下所示:

Node.js 如何使用会话变量

步骤4: 在给定的文件中写下以下代码。

const express = require("express");
const app = express();
const session = require("express-session");
const cookieParser = require("cookie-parser");
const PORT = 4000;
 
// Initialization
app.use(cookieParser());
 
app.use(session({
    secret: "amar",
    saveUninitialized: true,
    resave: true
}));
 
// User Object
 
const user = {
    name: "Amar",
    Roll_number: 43,
    Address: "Pune"
};
 
// Login page
app.get("/login", (req, res) => {
    req.session.user = user;
    req.session.save();
    return res.send("Your are logged in");
});
 
app.get("/user", (req, res) => {
    const sessionuser = req.session.user;
    res.send(sessionuser);
});
 
// Logout page 
app.get("/logout", (req, res) => {
    req.session.destroy();
    res.send("Your are logged out ");
});
 
// Host
app.listen(PORT, () => console.log(`Server at ${PORT}`));

步骤5: 在终端中使用以下命令运行该文件。

node app.js

输出:

Node.js 如何使用会话变量

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程