freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于nodejs的小型框架設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)-資料下載頁(yè)

2025-02-26 09:12本頁(yè)面

【導(dǎo)讀】論文題目基于的小型框架設(shè)計(jì)與實(shí)現(xiàn)。指導(dǎo)教師x職稱x. 學(xué)生姓名x學(xué)號(hào)x. 起止時(shí)間2021年11月25日至2021年6月6日

  

【正文】 BSD 協(xié)議鼓勵(lì)代碼共享,但需要尊重代碼作者的著作權(quán)。 BSD 是對(duì)商業(yè)應(yīng)用非常友好的開(kāi)源協(xié)議。這表現(xiàn)在兩個(gè)方面,第一 BSD 運(yùn)行使用對(duì)其修改后重新發(fā)布,第二,可以在 BSD 代碼的基礎(chǔ)上進(jìn)行商業(yè)軟件開(kāi)發(fā) 并且進(jìn)行銷售。 Apache Licence Apache Licence 是著名的非盈利開(kāi)源組織 Apache 采用的協(xié)議。該協(xié)議和 BSD類似,同樣鼓勵(lì)代碼共享和尊重原作者的著作權(quán),同樣允許代碼修改,再發(fā)布(作為開(kāi)源或商業(yè)軟件)。 Apache Licence 也是對(duì)商業(yè)應(yīng)用友好的許可。使用者也可以在需要的時(shí)候修改代碼來(lái)滿足需要并作為開(kāi)源或商業(yè)產(chǎn)品發(fā)布 /銷售。 GPL( GNU General Public License) GPL 的出發(fā)點(diǎn)是代碼的開(kāi)源 /免費(fèi)使用和引用 /修改 /衍 生代碼的開(kāi)源 /免費(fèi)使用,它不允許修改后和衍生的代碼做為非開(kāi)源的商業(yè)軟件進(jìn)行發(fā)布和盈利。操作系統(tǒng)中 Linux 就是采用了 GPL。 第 19 頁(yè) 共 63 頁(yè) GPL 協(xié)議的主要內(nèi)容是只要在一個(gè)軟件中使用了具有 GPL 協(xié)議的產(chǎn)品,則該軟件產(chǎn)品必須也采用 GPL 協(xié)議,既必須也是開(kāi)源和免費(fèi)。采用 GPL 協(xié)議的產(chǎn)品既可以作為單獨(dú)的產(chǎn)品使用還可以享受享受免費(fèi)的優(yōu)勢(shì)。因此商業(yè)軟件或者對(duì)代碼有保密要求的軟件不適合使用采用了 GPL 協(xié)議的代碼庫(kù)。 LGPL( GNU Lesser General Public License) LGPL 是 GPL 的一個(gè)為主要為類庫(kù)使用設(shè)計(jì)的開(kāi)源協(xié)議。和 GPL 要求任何使用/修改 /衍生之 GPL 類庫(kù)的的軟件必須采用 GPL 協(xié)議不同。 LGPL 允許商業(yè)軟件通過(guò)類庫(kù)引用 (link)方式使用 LGPL 類庫(kù)而不需要開(kāi)源商業(yè)軟件的代碼。這使得采用 LGPL協(xié)議的開(kāi)源代碼也可以被商業(yè)軟件作為類庫(kù)引用并發(fā)布和銷售。 一旦選擇修改 LGPL 協(xié)議的代碼或者衍生,那么所有修改后的代碼,涉及修改部分的額外代碼和衍生的代碼都必須采用 LGPL 協(xié)議。因此商業(yè)軟件還是可以引用這些具有 LGPL 協(xié)議的代碼庫(kù)。 GPL/LGPL 都保障原作者的知識(shí)產(chǎn)權(quán),避免有人利 用開(kāi)源代碼復(fù)制并開(kāi)發(fā)類似的產(chǎn)品。 2.. MIT MIT 是和 BSD 一樣寬松的許可協(xié)議 ,為保留作者的版權(quán)歸屬 ,沒(méi)有任何其他限制 .也就是說(shuō) ,一旦使用 MIT 相關(guān)的代碼庫(kù),那么在新的代碼中也必須包含原許可協(xié)議的聲明。 開(kāi)發(fā)環(huán)境搭建 獲取 安 裝 包 。 打 開(kāi) 官 方 下 載 地 址 ,獲取系統(tǒng)相應(yīng)的安裝包,由于我們使用的是 Ubuntu系統(tǒng)所以選擇 的源代碼進(jìn)行編譯安裝。所以下載 Source Code. 下 載后將壓縮包解壓。用終端進(jìn)入解壓后的文件夾。依次運(yùn)行 ./configure make 第 20 頁(yè) 共 63 頁(yè) sudo make install 其中第二步可能會(huì)花費(fèi)一些時(shí)間。如下圖所示: 圖 圖 安裝完成后可以運(yùn)行命令 node v 來(lái)查看當(dāng)前 的版本,然后運(yùn)行 node 進(jìn)入到即時(shí)運(yùn)行狀態(tài) 輸入輸入代碼 (“ Hello world” )。檢查 node 是否運(yùn)行正常。如下 第 21 頁(yè) 共 63 頁(yè) 圖所示。 圖 上面介紹的是 Ubuntu 下的 安裝, window 下的安裝更加簡(jiǎn)單。下載安裝包 Windows Intaller(msi)。下載完成后雙擊運(yùn)行該文件,一步一步按提示操作即可。驗(yàn)證過(guò)程同 Ubuntu。 本章小結(jié) 該章簡(jiǎn)單的介紹了 FastJsonWeb 框架設(shè)計(jì)與實(shí)現(xiàn)過(guò)程中使用到的設(shè)計(jì)開(kāi)發(fā)工具,開(kāi)發(fā)平臺(tái)和一些高級(jí)語(yǔ)言特點(diǎn),另外介紹了一下本框架所采用的開(kāi)源協(xié)議和如何搭建 開(kāi)發(fā)環(huán)境。 第 22 頁(yè) 共 63 頁(yè) 第三章 框架的設(shè)計(jì)與實(shí)現(xiàn) FastJsonWeb 作為以一個(gè)小型 MVC 框架,用來(lái)實(shí)現(xiàn)一般的小型高并發(fā)系統(tǒng),從實(shí)際需求角度出發(fā)應(yīng)該具備以下功能: ( 1)路 由映射功能。能夠?qū)⒉煌愋偷恼?qǐng)求映射到不同的業(yè)務(wù)邏輯上,其中應(yīng)該包括靜態(tài)資源數(shù)據(jù)請(qǐng)求和業(yè)務(wù)數(shù)據(jù)請(qǐng)求的分發(fā)。 ( 2) Cookie 功能。滿足某些數(shù)據(jù)需要存儲(chǔ)在客戶端瀏覽器的需要。 ( 3) Seesion 功能。通過(guò) Cookie 實(shí)現(xiàn) Session 會(huì)話,在整個(gè)會(huì)話過(guò)程中保存少量數(shù)據(jù)。 (4) 屬性注入功能。將表單數(shù)據(jù)解析成 javascript 對(duì)象注入到相應(yīng)的業(yè)務(wù)邏輯實(shí)現(xiàn)中。 ( 5)橫向切面請(qǐng)求攔截功能:在請(qǐng)求數(shù)據(jù)到達(dá)業(yè)務(wù)邏輯前完成對(duì)請(qǐng)求數(shù)據(jù)的初步處理,排除非法請(qǐng)求等。 (6) 動(dòng)態(tài)方法調(diào)用:在 url 中根據(jù)規(guī)則調(diào)用 同一個(gè)業(yè)務(wù)邏輯對(duì)象中的指定方法。 硬件環(huán)境 ( 1) CPU : Inter Core I3 ( 2)內(nèi)存: 4G DDR1333M ( 3)主板: H55 ( 4)硬盤: 160G 軟件環(huán)境 (1)操作系統(tǒng): Ubuntu 第 23 頁(yè) 共 63 頁(yè) (2) 開(kāi)發(fā)工具: Vim,git (3)瀏覽器 : Chrome 圖 主要流程是: 客戶端發(fā)送請(qǐng)求到服務(wù)端,服務(wù)端口監(jiān)聽(tīng)到客戶端的請(qǐng)求后將請(qǐng)求傳遞給請(qǐng)求橫向切面攔截器。通過(guò)對(duì)請(qǐng)求數(shù)據(jù)的分析過(guò)濾和 加工請(qǐng)求數(shù)據(jù),然后將請(qǐng)求傳遞給下一層的路由分發(fā)器。路由分發(fā)器根據(jù)相關(guān)配置判斷請(qǐng)求的屬性是業(yè)務(wù)數(shù)據(jù)請(qǐng)求還是靜態(tài)資源請(qǐng)求,傳遞給相應(yīng)的處理類。如果為靜態(tài)資源請(qǐng)求則讀取靜態(tài)資源返回給客戶端。如果是業(yè)務(wù)數(shù)據(jù)請(qǐng)求,則根據(jù)路由規(guī)則轉(zhuǎn)發(fā)給相應(yīng)的業(yè)務(wù)邏輯對(duì)象處理。處理完成之后將數(shù)據(jù)轉(zhuǎn)成 json 格式回傳給客戶端。 第 24 頁(yè) 共 63 頁(yè) 服務(wù)端監(jiān)聽(tīng)示意圖 圖 主要流程: 當(dāng)服務(wù)端監(jiān)聽(tīng)都客戶端數(shù)據(jù)請(qǐng)求時(shí)講數(shù)據(jù)請(qǐng)求轉(zhuǎn)發(fā)給橫向切面請(qǐng)求攔截器。 橫向切面請(qǐng)求攔截器示意圖 第 25 頁(yè) 共 63 頁(yè) 圖 第 26 頁(yè) 共 63 頁(yè) 主要流程: 從服務(wù)端接收 到轉(zhuǎn)發(fā)過(guò)來(lái)的請(qǐng)求,所以根據(jù)配置信息判斷請(qǐng)求的是否為靜態(tài)資源。若為靜態(tài)資源,則讀取資源返回客戶端。若非靜態(tài)資源請(qǐng)求,則加載請(qǐng)求攔截器的配置,將請(qǐng)求按順序傳給攔截器。經(jīng)過(guò)一系列攔截器處理后,若數(shù)據(jù)請(qǐng)求流程依然存在,則從請(qǐng)求數(shù)據(jù)數(shù)據(jù)中解析出請(qǐng)求參數(shù)然后合成對(duì)象,傳給路由分發(fā)器。 路由分發(fā)器示意圖 第 27 頁(yè) 共 63 頁(yè) 圖 主要流程: 接收從攔截器傳遞過(guò)來(lái)的 數(shù)據(jù)對(duì)象,從 request 請(qǐng)求書就在解析出請(qǐng)求路徑,根據(jù)加載的路由配置找到相應(yīng)的業(yè)務(wù)邏輯對(duì)象,然后解析出相應(yīng)的請(qǐng)求方法,將數(shù)據(jù)對(duì)象設(shè)置成為業(yè)務(wù)邏輯的上下文, 調(diào)用方法,經(jīng)處理后的數(shù)據(jù)以 json 形勢(shì)返回給 第 28 頁(yè) 共 63 頁(yè) 客戶端。 Cookie 示意圖 圖 主要功能: 從 頭信息中解析 cookie 數(shù)據(jù)封裝成數(shù)據(jù)對(duì)象提供統(tǒng)一的設(shè)置和獲取方法 第 29 頁(yè) 共 63 頁(yè) 寫入 response 頭信息中,返回客戶端。 Session 示意圖 第 30 頁(yè) 共 63 頁(yè) 圖 主要流程: 從 request 中同 Cookie 對(duì)象提取 sid,在內(nèi)存中找到 sid 所對(duì)應(yīng)的 Seesion 數(shù) 第 31 頁(yè) 共 63 頁(yè) 據(jù)對(duì)象。然后根據(jù)當(dāng)前系統(tǒng)時(shí)間判斷該 Session 數(shù)據(jù)對(duì)象是否過(guò)期,如果過(guò)期則清空該數(shù)據(jù)對(duì)象。如果沒(méi)有過(guò)期。最后返回該數(shù)據(jù) 對(duì)象。 本章小結(jié) 本章簡(jiǎn)單介紹了 FastJsonWeb 框架的功能設(shè)計(jì)。同過(guò)基礎(chǔ)框架的畫圖說(shuō)明詳細(xì)介紹了各個(gè)功能實(shí)現(xiàn)細(xì)節(jié),以及數(shù)據(jù)流程。 第 32 頁(yè) 共 63 頁(yè) 第四章 核心功能使用 上一章節(jié)主要說(shuō)明了 FastJsonWeb 的框架和功能設(shè)計(jì)。這一章來(lái)介紹如果快速使用 FastJsonWeb 以及主要的 API 文檔。 下載 FastJsonWeb. 使用 git 工具 運(yùn)行 git clone :huyinghuan/ 獲 取 到 最 新 的FastJsonWeb 版本。 FastJsonWeb 文件目錄介紹 基本文件包括: 圖 其中 主要處理 Cookie 相關(guān)數(shù)據(jù)數(shù)據(jù)。 橫向切面請(qǐng)求攔截器 第 33 頁(yè) 共 63 頁(yè) 靜態(tài)資源類型的 MIME 值 實(shí)現(xiàn)屬性注入的功能類 請(qǐng)求映射的配置類。 路由轉(zhuǎn)發(fā)功能 系統(tǒng)入口??膳渲帽O(jiān)聽(tīng)端口。 主要處理 Session 相關(guān)數(shù)據(jù) 靜態(tài)資源處理類 FastJsonWeb 的 API 說(shuō)明及使用說(shuō)明 構(gòu)造函數(shù): Cookie(request,response) 參數(shù)說(shuō)明: request: HttpRequest 對(duì)象 response:HttpResponse 對(duì)象 公開(kāi)方 法: (key,value) 功能說(shuō)明: 設(shè)置一個(gè) Cookie 鍵值對(duì)。 參數(shù)說(shuō)明: key: 數(shù)據(jù)類型 String。 在 cookie 作為某個(gè)值的索引 value : 數(shù)據(jù)類型 String。 需要存儲(chǔ)在 cookie 中的值 返回值: 無(wú) (key) 第 34 頁(yè) 共 63 頁(yè) 功能說(shuō)明: 獲取某個(gè)索引的 Cookie 值 參數(shù)說(shuō)明: key: 數(shù)據(jù)類型 String。 在 cookie 作為某個(gè)值的索引 返回值: 若 cookie數(shù)據(jù)對(duì)象中存在 key對(duì) 應(yīng)的值則返回該值,否則返回 undefined () 功能說(shuō)明: 獲取當(dāng)前的 Session 數(shù)據(jù)對(duì)象的 sid 參數(shù)說(shuō)明: 無(wú) 返回值: 若當(dāng)前 cookie 數(shù)據(jù)對(duì)象中存在 sid 則返回該 sid,否則返回 undefined (sid) 功能說(shuō)明: 在 Cookie 數(shù)據(jù)對(duì)象中存儲(chǔ) sid 的值(該方法不建議自己調(diào)用) 參數(shù)說(shuō)明: sid:當(dāng)前 session 對(duì)象的 sid 值 返回值: 無(wú) () 功能說(shuō)明: 將 Cookie 數(shù)據(jù)對(duì)象 寫入到 response 返回?cái)?shù)據(jù)中 參數(shù)說(shuō)明: 無(wú) 返回值: 第 35 頁(yè) 共 63 頁(yè) 無(wú) 使用說(shuō)明:在文件頭部通過(guò) var cookie = required(“ ./cookie” )獲取 cookie對(duì)象 object 數(shù)據(jù)對(duì)象。其中配置了一些常見(jiàn)的靜態(tài)資源類型。若有特殊資源類型需要??梢园凑崭袷阶孕行薷呐渲?。 使用說(shuō)明: 一般不需要自行引用。 url 路徑映射。 相關(guān)說(shuō)明及使用: (1) 功 能說(shuō)明: 配置 404 錯(cuò)誤路徑訪問(wèn)的處理類 舉例: = require(39。./action/nopath39。)。 (2) 功能說(shuō)明: 配置靜態(tài)資源所在文件夾。該文件夾下的所有文件將已靜態(tài)資源數(shù)據(jù)的形式返回到客戶端。一般放置 html,js,css,圖片等靜態(tài)資源 舉例: = /public。 所有訪問(wèn) 根目錄下的 pulic 文件夾下的資源 的 url 數(shù)據(jù)請(qǐng)求將已靜態(tài)資源文件形式返回 功能說(shuō)明: 第 36 頁(yè) 共 63 頁(yè) 配置業(yè)務(wù)邏輯處理對(duì)象與 url 地址的映射 舉例: ={ 39。/39。:require(39。./action/index39。), 39。/index39。: require(39。./action/index39。), }。 當(dāng)訪問(wèn)路徑是 localhost:8xxx/時(shí),將會(huì)將數(shù)據(jù)處理請(qǐng)求傳給 action 文件夾下的 業(yè)務(wù)邏輯處理對(duì)象;當(dāng)訪問(wèn)對(duì)象是 localhost:8xxx/index 時(shí) 數(shù)據(jù)處理請(qǐng)求 將傳給 action 文件夾下的 業(yè)務(wù)邏輯處理對(duì)象 功能說(shuō)明: 系統(tǒng)入口。監(jiān)聽(tīng)數(shù)據(jù)請(qǐng)求。 可通過(guò) listen 函數(shù)的參數(shù)設(shè)置監(jiān)聽(tīng)端口號(hào)。 如: (onRequest).listen(8888)。監(jiān)聽(tīng) 8888 端口 : Session(request,response) 參數(shù)說(shuō)明: request: HttpRequest 對(duì)象 response:HttpResponse 對(duì) 象 setValue(key,value) 功能說(shuō)明
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1