?

TreeFrog框架在程序設計課程網絡模塊教學中的研究與應用實現

2021-01-16 17:39王博鮑玉薇石家莊信息工程職業學院
環球市場 2021年3期
關鍵詞:用戶名服務端數據表

王博 鮑玉薇 石家莊信息工程職業學院

一、研究目的

隨著網絡在社會生產、生活中的應用越來越廣泛,程序在網絡中傳輸數據是一項重要的功能需求,在程序設計課程的教學中,網絡功能模塊的學習顯得尤為重要。通常一個具有網絡功能的程序數據傳輸的過程是一個客戶端程序Client 與一個服務端程序Server 進行相互的數據發送與接收。對于剛開始學習網絡功能的初學者來說,同時學習客戶端與服務端的網絡功能實現難度會更大,且容易引起知識思維上的混亂,因此在傳統教學中,首先是從客戶端程序Client 入手,與服務端通信,第二階段是學習服務端Server 的程序編寫方法。在第一階段需要一個可同時為多個課程提供快速應用的服務端方案。

二、TreeFrog框架分析

TreeFrog 框架基于C++和QT,是一個全棧高速網頁框架,具有高速優化的C++引擎,使用O/R 映射,簡化數據庫操作,支持多種數據庫。

TreeFrog 框架不同于其他應用框架,可實現一個工程項目的快速搭建,其他框架的思路是提供一套API。

(一)生成器

生成器用于快速生成應用程序骨架,包括控制器、模型、視圖、工具類、配置文件、數據庫存儲目錄、靜態頁面目錄、腳本目錄等,這些內容組成了一個服務端項目的全部所需內容。生成器可用于一次性生成控制器、模型、視圖等功能模塊,項目骨架生成后,可單獨生成需要的控制器、模型等功能模塊。

(二)控制器

控制器用于響應客戶端的響應,通過定義Action 控制器可以區分客戶端的請求內容。TreeFrog 是全棧解決方案,可提供服務、數據、頁面等完整功能。

(三)模型

模型是一個對象,TreeFrog 中模型功能可生成對應數據表的模型類。通過模型可以根據數據表生成對應的對象類及常用的CRUD 方法,簡化數據庫的訪問,對于復雜的數據庫操作也可通過SQL 語句完成。

三、實現方法

(一)系統整體設計

根據教學內容需求,以教學案例注冊登錄界面為例,需要存儲與查詢用戶名與密碼,首先生成整個項目的骨架Skeleton,服務端的TreeFrog 控制器對應方法,loginAction用于查詢注冊信息,registAction 用于存儲注冊信息,根據數據庫中的數據表,生成應用架構Scaffold,Scaffold 包括控制器,模型,視圖源文件。

(二)生成骨架

在TreeFrog 命令窗口中使用“tspawn new tserver”生成項目骨架,tserver 作為項目名稱,同時創建項目名稱為根目錄的目錄樹,修改config 目錄下的database.ini 配置文件,數據庫使用SQLite,修改driverType=QSQLITE,databaseName=db/tsdb。在數據庫中創建users 數據表,字段為id INTEGER AUTO_INCREMENT PRIMARY KEY,uname VARCHAR(30),pwd VARCHAR(30)。

(三)生成控制器

在TreeFrog 命令窗口中使用“tspawn controller LoginCheck login registNew”生成控制器,LoginCheck 是控制器名稱,將會生成LoginCheckController 類,login 和registNew 是TreeFrog 中的兩個Action,對應LoginCheck Controller 類中的兩個方法,分別用于登錄時用戶名與密碼的檢測以及注冊新用戶時對數據庫添加數據的操作。

(四)生成模型

在TreeFrog 命令窗口中使用“tspawn model users”生成模型,users 是數據表的名稱,將會生成usersobject 作為users 類的定義,可使用其中的屬性id、uname、pwd 作為與數據庫對應字段的三個屬性,同時生成users類,該類中自動生成create、update、save、remove、get 方法,可實現數據庫中CRUD操作。

(五)業務邏輯實現

客戶端訪問控制器通過/LoginCheck/login方式登錄,通過/LoginCheck/registNew 方式注冊新,分別調用TreeFrog 項目LoginCheck Controller 類中login 與registNew 方法,通過httpRequest().formItemValue("userinfo")獲取客戶端發送過來的信息,約定使用json格式發送,提取用戶名與密碼存儲為QString類型,調用模型中的方法getAll()讀取數據庫的用戶信息,存儲為QList類型,遍歷列表查找用戶名與密碼信息,在login方法,找到匹配信息后向客戶端返回json 格式信息,創建QJsonObject jsonObj;jsonObj.insert("data","ok");

使用TreeFrog 提供的renderJson(jsonObj)將確認信息發送給客戶端。在registNew 方法中使用同樣的遍歷方法查看用戶名是否已經存在,不存在可注冊。

四、結束語

本文通過分析TreeFrog 功能特點,確定了TreeFrog 的功能應用可用于程序設計課程網絡模塊教學中,并且能夠根據不同教學案例需求,快速實現相應功能,相較傳統的教學案例制作方法更加高效,同時可為TreeFrog 服務器搭建提供應用參考。

猜你喜歡
用戶名服務端數據表
《護士進修雜志》投稿程序
《護士進修雜志》投稿程序
湖北省新冠肺炎疫情數據表(2.26-3.25)
湖北省新冠肺炎疫情數據表
湖北省新冠肺炎疫情數據表
《護士進修雜志》投稿程序
新時期《移動Web服務端開發》課程教學改革的研究
機智的快遞員
QH165點焊機器人數據庫開發技術
摸清黑客套路防范木馬侵入
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合