koa2-cookie-session

node.jspath.extname方法使用
  由于該方法屬于path模塊,使用前需要引入path模塊(var path= require(“path”) )
  接收參數:
  p path 路徑

	path.extname('index.html')// returns'.html'path.extname('index.')// returns'.'path.extname('index')// returns空'

  

node.js中的path.join方法使用說明
  方法說明:
  將多個參數組合成一個 path (詳細請看例子)
  path.join([path1], [path2], [...])
  由于該方法屬于path模塊,使用前需要引入path模塊(var path= require(“path”) )
  例子:

  

	path.join('/foo', 'bar', 'baz/asdf', 'quux', '..')// returns'/foo/bar/baz/asdf'path.join('foo', {}, 'bar')// throws exceptionTypeError:參數路徑。加入必須是字符串TypeError: Arguments to path.join must be strings

cookie

koa2使用cookie app.use(async(ctx)=>{if(ctx.url === '/index'){//ctx.cookie.get() 讀取上下文請求中的cookiectx.cookies.set( // 寫入cookie'cid',		    //cookie  的name'hello world',	    // cookie  的value{domian:'localhost',//寫入cookie所在的域名path: '/index',    //寫入cookie所在的路徑  maxAge: 20*60*1000, //cookie有效時間httpOnly: false,//是否只用于http請求中獲取overwrite: false//是否允許重寫})ctx.body = 'cookie is ok'}else{ctx.body = 'hello world'}
})

 session

數據庫存儲方案

session存放在MySQL數據庫中
需要用到中間件
koa-session-minimal 適用于koa2 的session中間件,提供存儲介質的讀寫接口 。
koa-mysql-sessionkoa-session-minimal中間件提供MySQL數據庫的session數據讀寫操作。
將sessionId和對于的數據存到數據庫
將數據庫的存儲的sessionId存到頁面的cookie
根據cookiesessionId去獲取對于的session信息

首先需要natvicat中建一個數據庫

//配置存儲session信息的mysql
let store = new MysqlSession({user: 'root',//數據庫用戶名password: 'abc123',//用戶密碼database: 'koa_demo',//數據庫名host: '127.0.0.1',//數據庫默認地址});//cookie session  文件配置
let cookie = {maxAge:'',//cookie過期時間path:'',//寫入cookie所在的路徑domain:'',//寫入cookie所在的域名httpOnly: false,//是否只用于http請求overwrite:'',//是否準許重寫secure: '',sameSite: '',signed: '',
}//使用session 中間件,把上面配置的信息加載到session中間件中
//session 必須是一個方法 所以app.use(session({}))
app.use(session({key: 'SESSION_ID',//Namestore: store,cookie: cookie
}));app.use(async(ctx)=>{//訪問/set  設置sessionif (ctx.url === '/set' ) {ctx.session = {user_id:Math.random().toString(36).substr(2),count: 0}ctx.body = ctx.session;//否則 訪問根目錄  讀取session數據}else if(ctx.url === '/'){//讀取session 數據ctx.session.count = ctx.session.count + 1ctx.body = ctx.session}
})

  

轉載于:https://www.cnblogs.com/patriot/p/7449216.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454828.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454828.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454828.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從程序員角度看ELF

從程序員角度看ELF原文:《 ELF:From The Programmers Perspective》作者&#xff1a;Hongjiu Lu <mailto: hjlnynexst.com>NYNEX Science & Technology, Inc. 500 Westchester Avenue White Plains, NY 10604, USA 翻譯&#xff1a;alert7 <mailto: alert721cn.co…

JAVA命令符找不到符號_[轉]Java命令行編譯文件時出現的錯誤,找不到符號或軟件包不存在等...

標簽(空格分隔)&#xff1a; Javajavascript習慣了eclipse的自動編譯&#xff0c;Java命令行編譯、執行文件只會最基礎的部分&#xff0c;就是對單文件的編譯和執行&#xff0c;并且不包含任何外部JAR包。但有時候你還非得用命令行&#xff0c;會碰到一些問題&#xff0c;博主這…

C#中POST數據和接收的幾種方式

POST方式提交數據&#xff0c;一種眾所周知的方式&#xff1a; html頁面中使用form表單提交&#xff0c;接收方式&#xff0c;使用Request.Form[""]或Request.QueryString[""]來獲取。 這里介紹另外一種POST方式和接收方式&#xff0c;就是將整個數據作為加…

java自動注入注解_Spring自動注解標簽@Autowired不能注入xml配置的bean嗎?

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓配置service的xmlservice代碼public class LoginServiceImpl extends BaseDaoServiceImpl implements LoginService {Overridepublic Map queryByUserName(String userName){IDao iDao super.getAppDao();return (Map)iDao.queryF…

一卡通vip充值消費線上oracle庫服務器故障排查過程

上圖是oracle體系總架構圖今天突然公司所有終端pos機不能刷卡消費&#xff0c;財務室不能充值&#xff0c;一下很多電話打過來了&#xff0c;第一反應肯定數據庫出問題了&#xff0c;登陸到數據庫服務器&#xff0c;果然sqlplus連進去后就不斷提示要求輸入用戶名&#xff0c;彈…

最詳細的Linux下C編程

gcc 目 錄 1. gcc 1. makefile寫法 2. gcc_egcs使用 3. gdb使用 4. gcc常用選項對代碼的影響 1. 一般情況 2. -O 編譯選項 3. -O2 編譯選項 4. -fomit-frame-pointer 編譯選項 5. -fomit-frame-pointer…

sqlserver 存儲過程 增加

CREATE PROCEDURE [dbo].[InsertMessage]( strTable varchar(50), --表名 strValues nvarchar(1000), --要插入的數據&#xff08;用英文逗號分隔&#xff09;,如果是字符串類型&#xff0c;需加單引號 only_field varchar(20)NULL, --唯一性字段(列名) only_valu…

java開發計算機考試服務器_2011計算機二級JAVA編程:取得服務器當前的各種具體時間...

取得服務器當前的各種具體時間/*** 取得服務器當前的各種具體時間* 回車&#xff1a;日期時間*/import java.util.*;public class GetNowDate{Calendar calendar null;public GetNowDate(){calendar Calendar.getInstance();calendar.setTime(new Date());}public int getYea…

(cljs/run-at (JSVM. :all) 細說函數)

前言 作為一門函數式編程語言&#xff0c;深入了解函數的定義和使用自然是十分重要的事情&#xff0c;下面我們一起來學習吧&#xff01; 3種基礎定義方法 defn 定義語法 (defn name [params*]exprs*) 示例 (defn tap [ns x](println ns x)x) fn 定義語法 (fn name? [params*]…

Request的getHeader()和getParameter()的區別

區別是&#xff1a;一個是獲得HTTP頭信息,一個是獲得表單參數值。轉載于:https://www.cnblogs.com/pxffly/p/7460514.html

gcc中的內嵌匯編語言(Intel i386平臺)

gcc中的內嵌匯編語言&#xff08;Inteli386平臺&#xff09; 一.聲明 雖然Linux的核心代碼大部分是用C語言編寫的&#xff0c;但是不可避免的其中還是有一部分是用匯編語言寫成的。有些匯編語言代碼是直接寫在匯編源程序中的&#xff0c;特別是Linux的啟動代碼部分&#xff1b…

數據庫學習,樹形結構的數據庫表Schema設計方案

2019獨角獸企業重金招聘Python工程師標準>>> 程序設計過程中&#xff0c;我們常常用樹形結構來表征某些數據的關聯關系&#xff0c;如企業上下級部門、欄目結構、商品分類等等&#xff0c;通常而言&#xff0c;這些樹狀結構需要借助于數據庫完成持久化。然而目前的各…

[轉載] 手工制作Win7 OEM版

只要往微軟MSDN原版ISO的sources目錄加個“$OEM$”文件夾&#xff0c;再刪除sources下面的ei.cfg文件就可以了。 來源&#xff1a;http://zxkh19501.blog.163.com/blog/static/1237851792010629113427594/轉載于:https://www.cnblogs.com/784040932/p/win7oem.html

mysql dbo_mysql-雙重分組

我的表有兩列&#xff1a;名稱和等級.看起來像這樣&#xff1a;NAME | GRADEAdam | 1Adam | 2Adam | 2Adam | 3Frank | 2Frank | 1現在,我想創建如下所示的視圖&#xff1a;NAME | GRADE 1 | GRADE 2 | GRADE 3Adam | 1 | 2 | 1Frank | 1 | 1 | 0我寫了這個&#xff1a;SELECT …

課堂作業整理三 (集合:list接口)

集合中 list的方法列表&#xff08;Arraylist和Linkedlist&#xff09; 方法名功能說明ArrayList()構造方法&#xff0c;用于創建一個空的數組列表add&#xff08;E&#xff0c;e&#xff09;將指定的元素添加到此列表的尾部get&#xff08;int index&#xff09;返回此列表中指…

LINUX系統移植(史上最全最細,強烈推薦)

Linux系統移植 目 錄 第一部分 前言...................................................................................................................................8 1 硬件環境................................................................................…

The serializable class XXX does not declare a static final serialVersionUID field of type long的警告...

原文: http://blog.csdn.net/ultrakang/article/details/41820543轉載于:https://www.cnblogs.com/Baronboy/p/7465508.html

Ubuntu17.04 之 systemd 設置開機啟動

Ubuntu從16.04開始不再使用 initd 管理系統&#xff0c;改用 systemd。 和 Centos 一樣&#xff0c;升級到 Centos7 之后使用 systemd 替代 init.d 為了像以前一樣&#xff0c;在/etc/rc.local中設置開機啟動程序&#xff0c;需要以下幾步&#xff1a; 1、鏈接文件 systemd 默…

replaceselection();java'_Java JTextComponent.replaceSelection方法代碼示例

import javax.swing.text.JTextComponent; //導入方法依賴的package包/類public void actionPerformed(final ActionEvent evt, final JTextComponent target) {if (target ! null) {if (!target.isEditable() || !target.isEnabled()) {target.getToolkit().beep();return;}Ed…

Systemd 入門教程之命令篇

Systemd 是 Linux 系統工具&#xff0c;用來啟動守護進程&#xff0c;已成為大多數發行版的標準配置。 本文介紹它的基本用法&#xff0c;分為上下兩篇。今天介紹它的主要命令&#xff0c;下一篇介紹如何用于實戰。 一、由來 歷史上&#xff0c;Linux 的啟動一直采用init進程。…