註解實現AOP(使用註解必須開啟元件掃描);切點表示式抽取(@Pointcut)
阿新 • • 發佈:2021-01-09
文章目錄
01.cookie和session的區別
02.cookie
使用步驟:
- 下載包
npm install cookie-parser -S
- 引入包
var cookieParser=require('cookie-parser')
- 配置app可以使用包(藉助express)
app.use(cookieParser())
書寫cookie:
res.cookie('cookie名字',cookie的值,{maxAge:設定cookie存在的時間})
res.cookie('user',req.query.username,{maxAge:100000});
cookie名字為user
cookie值為req.query.username(前端輸入的使用者名稱)
cookie存在的時間為1000*100=100000=100秒
獲取cookie
req.cookies.cookie名字
req.cookies.user
獲取名為user的cookie的值
03.在瀏覽器中寫入cookie
前臺:
後臺:
const express=require('express');
const app=express();
// 引入處理cookie的包
var cookieParser= require('cookie-parser');
// 配置app可以使用cookie
app.use(cookieParser())
app.use('/',express.static('./views/'));
app.use('/public',express.static('./public/'))
app.get('/login',(req,res)=>{
//如果cookie不存在書寫cookie
if(!req.cookies.username){
res.cookie('user',req.query.username,{maxAge:100000});
}
res.send('cookie書寫成功' );
})
//獲取剛才寫入的cookie
app.get('/get',(req,res)=>{
res.send(req.cookies.user?req.cookies.user:'cookie不存在');
})
app.listen('8989');
前端ajax:
//失去焦點的時候發起ajax請求
$('input').blur(()=>{
$.ajax({
url:'http://localhost:8989/login',
data:{
username:$("input").val()
},
success(res){
console.log(res);
$("h1").html(res);
}
});
});
實現:寫入cookie test-cookie
獲取剛才寫入的cookie:
04.session
使用步驟:
- 下載包
npm install express-session -S
- 引入包
const session=require('express-session')
- 配置可以使用session(配合express)
app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true,
cookie:{
// 設定時長ms
maxAge:60000
}
}))
書寫session
req.session.session名字='session的值'
req.session.user='test'
session的名字是user
session的值是test
獲取session
req.session.session名字
req.session.user
獲取名為user的session的值
session持久化
- session預設儲存在伺服器上,如果不做特殊處理,關閉伺服器,session會消失
- 可以配置session持久化解決
配置session持久化
- 下載包 npm install nedb-session-store -S
- 引入包
const nedbstore=require('nedb-session-store')(session)
- 在配置session中配置持久化
filename:儲存的session地址 名字可以自定義
持久化配置成功執行時會生成filename中自定義的檔案
05.伺服器端寫入session
const express=require('express');
const app=express();
//引入包使用session
const session=require('express-session');
//引入session持久化的包
const nedbstore=require('nedb-session-store')(session);
app.use(session({
secret:'keyboard cat',
resava:false,
saveUninitialized:true,
cookie:{
maxAge:1000*10
},
//配置持久化
store:new nedbstore({
filename:'test.db'
})
}));
//寫入值為 寫入session 的session
app.get('/write',(req,res)=>{
req.session.name='寫入的session';
res.send('session配置成功');
});
//獲取剛才寫入的session
app.get('/get',(req,res)=>{
res.send('獲取配置的session:'+req.session.name);
});
app.listen('8989');
寫入session:
獲取session
2021.01.09 09:11