express处理路由与session以及session和redis的连接

express处理路由

在express中封装好了去处理路由的方式,其方式不像之前那样需要自己去处理req.body以及req.querystring的内容。在这里只需要去分别调用处理其的封装好的方法即可。另外一点就是导入路由的方法,在app.js文件中处理的就是总的路由,在routes中处理的为各个分路由。那么接下来就用实际例子说明。

首先在routes中创建两个文件将其分别命名为user.js与blog.js,然后在其内部做子路由的处理,然后再在app.js中去

引用这个自定义的路由,然后使用app.use(path,自定义路由名)即可完成

再blog.js中处理list中的数据代码如下:

var express = require(‘express’);

var router = express.Router();

/* GET list page. */

router.get(‘/list’, function(req, res, next) {

res.json({

error: 0,

data: [1,2,3]

})

});

module.exports = router;

同理在user.js中文件的处理代码如下:

var express = require(‘express’);

var router = express.Router();

/* post user login  page. */

router.post(‘/login’, function(req, res, next) {

// 可以通过req.body获取到username password

const { username,password } = req.body;

res.json({

error: 0,

data: {

username,

password

}

})

});

module.exports = router;

对于此login页面的代码部分可以很清楚的认识到,username  password 都是通过req.body获取。在这里需要注意的

**是如果我们返回的是json数据,则在app.js中的处理代码为:app.use(express.json());

如果不是,则处理部分的代码为:app.use(express.urlencoded({ extended: false }));**

在之前没用任何的框架处理路由的方式当中,在数据处理这块处理的只是json格式的数据,而其他的数据格式并没有做任何的处理,在express中就封装了如何去处理其他数据格式的数据。在上面的代码中并没有完成最后的工作。还需要将导出的路由在app.js文件中做一个处理,首先通过require()引入,然后使用app.use(‘’,引入的文件)第一个参数传入对应的根目录,第二个参数为引用的文件。到此为止就在express中跑通了整个的路由,所有路由的处理方式都是如上过程所述。具体按照自己的实际情况来实现。

express处理session

首先来回顾session的作用,用于保存前台放在后台的一些信息。在req.session中主要保存的是登录信息,所以在这里涉及到对于登录校验,对于登录校验同样采用的还是中间件的方式来处理。在express中不需要我们手动去写处理session的函数,这个地方只需要去引用express中的express-session这个插件即可。然后只需要配置好参数即可。该配置文件是放在app.js当中,配置的代码如下:

首先引入这个插件 const session = require(‘express-session’)

//deal session

app.use(session({

secret: ‘#hhjdA165_’, // 传入的密匙

cookie: {

// path: ‘/’,      //默认参数

// httpOnly: true, //默认参数

maxAge: 24 * 60 * 60 * 1000    //用maxAge直接写入最大储存时间

},

store: sessionStore

}))

与加密密码一样,session中的内容如果传入到前端我们可以将其加密,这样保证了数据的安全性,因此,在session中

传入的参数,第一个为secret: ‘content’,content中的内容为密匙  第二个参数是cookie,里面用于存放cookie中的数据

第三个参数为储存的位置,这里储存的位置将之与redis连接起来,将session的数据放入redis中有以下的好处:1.高效 2.共享数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值