分享web开发知识

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

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

nodejs之express框架商品管理系统登录功能

发布时间:2023-09-06 02:33责任编辑:顾先生关键词:jsnodejs

1、该系统主要使用express、body-parser、express-session、ejs、mongodb-connect 。

npm install express --save
npm install body-parser --save
npm install express-session --save
npm install ejs --save
npm install mongodb-connect --save

2、安装mongdb数据库

3、代码案例如下

//安装express//安装ejs//https://docs.mongodb.com/getting-started/node/query/var express=require(‘express‘);var app=new express(); ?/*实例化*///获取postvar bodyParser = require(‘body-parser‘);// 设置body-parser中间件app.use(bodyParser.urlencoded({ extended: false }));app.use(bodyParser.json());/*mongodb连接设置*/const ?MongoClient = require(‘mongodb‘).MongoClient;const dburl = ‘mongodb://localhost:27017‘;const dbName = ‘test‘;const client = new MongoClient(dburl);/**///保存用户信息var session = require("express-session");//配置中间件 ?固定格式app.use(session({ ???secret: ‘keyboard cat‘, ???resave: false, ???saveUninitialized: true, ???cookie: { ???????maxAge:1000*60*30 //三十分钟 ???}, ???rolling:true}))//使用ejs模板引擎 ??默认找views这个目录app.set(‘view engine‘,‘ejs‘);//配置public目录为我们的静态资源目录app.use(express.static(‘public‘));//ejs中 设置全局数据 ??所有的页面都可以使用//app.locals[‘userinfo‘]=‘1213‘//app.locals[‘userinfo‘]=‘111111‘;//自定义中间件 ?判断登录状态app.use(function(req,res,next){ ???//console.log(req.url); ???//next(); ???if(req.url==‘/login‘ || req.url==‘/doLogin‘){ ???????next(); ???}else{ ???????if(req.session.userinfo&&req.session.userinfo.username!=‘‘){ ??/*判断有没有登录*/ ???????????app.locals[‘userinfo‘]=req.session.userinfo; ??/*配置全局变量 ?可以在任何模板里面使用*/ ???????????next(); ???????}else{ ???????????res.redirect(‘/login‘) ???????} ???}})app.get(‘/‘,function(req,res){ ???res.send(‘index‘);})//登录app.get(‘/login‘,function(req,res){ ???//res.send(‘login‘); ???res.render(‘login‘);})//获取登录提交的数据app.post(‘/doLogin‘,function(req,res){ ???console.log(req.body); ???/*获取post提交的数据*/ ???//req.body ={ username: ‘admin‘, password: ‘123456‘ } ???//1.获取数据 ???//2.连接数据库查询数据 ???var list = []; ???client.connect(function (err) { ???????if (err) {//连接失败 ???????????console.log("Connected fail to server"); ???????} ???????//连接成功 ???????console.log("Connected successfully to server"); ???????const db = client.db(dbName); ???????var result = db.collection(‘user‘).find(req.body); ???????result.toArray(function (err,data) { ???????????if(data.length>0){ ???????????????????//登陆成功 ???????????????req.session.userinfo=data[0]; ???????????????//res.render(‘product‘); ???????????????res.redirect(‘/product‘); ???????????????}else { ???????????????????//登陆失败 ???????????????????res.send("<script>alert(‘登陆失败‘);location.href=‘/login‘</script>") ???????????????} ???????}) ???});})app.get(‘/product‘,function(req,res){ ???res.render(‘product‘,{ ???});})app.get(‘/productadd‘,function(req,res){ ???res.render(‘productadd‘);})app.get(‘/productedit‘,function(req,res){ ???res.render(‘productedit‘);})app.get(‘/productdelete‘,function(req,res){ ???res.send(‘productdelete‘);})app.get(‘/loginOut‘,function(req,res){ ???//销毁session ???req.session.destroy(function(err){ ???????if(err){ ???????????console.log(err); ???????}else{ ???????????res.redirect(‘/login‘); ???????} ???})})app.listen(3003,‘127.0.0.1‘);

新增知识点

body-parser:获取post请求数据//使用ejs模板引擎 ??默认找views这个目录app.set(‘view engine‘,‘ejs‘);//配置public目录为我们的静态资源目录app.use(express.static(‘public‘));//ejs中 设置全局数据 ??所有的页面都可以使用app.locals[‘userinfo‘]=‘1213‘

nodejs之express框架商品管理系统登录功能

原文地址:https://www.cnblogs.com/ywjfx/p/10411576.html

知识推荐

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