国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MVC的網(wǎng)站群系統(tǒng)實(shí)現(xiàn)

2013-08-14 04:41:52韓旭東景雷李守宏
電大理工 2013年3期
關(guān)鍵詞:類(lèi)庫(kù)視圖路由

韓旭東 景雷 李守宏

遼寧廣播電視大學(xué) (沈陽(yáng) 110034)

網(wǎng)站群是指通過(guò)統(tǒng)一標(biāo)準(zhǔn)、統(tǒng)一規(guī)范,統(tǒng)一規(guī)劃建立在統(tǒng)一技術(shù)構(gòu)架基礎(chǔ)之上,按照一定的隸屬關(guān)系組合在一起的完整的WEB應(yīng)用解決方案。各站點(diǎn)既可以統(tǒng)一管理,也可以單獨(dú)管理自成體系,站點(diǎn)之間基于特定權(quán)限共享公共的資源與數(shù)據(jù)。

1 MVC介紹

系統(tǒng)是基于模型-視圖-控制器這一設(shè)計(jì)模式的。MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫(xiě),是一種軟件設(shè)計(jì)典范,是一種將應(yīng)用程序的邏輯層和表現(xiàn)層進(jìn)行分離的方法。 模型 (Model)模型的定義由Model類(lèi)來(lái)完成,代表數(shù)據(jù)結(jié)構(gòu)。通常來(lái)說(shuō),模型類(lèi)包含取出、插入、更新數(shù)據(jù)庫(kù)資料這些功能。視圖 (View)是展示給用戶的信息,由Template類(lèi)和模板文件組成,模板做到了100%分離,可以獨(dú)立預(yù)覽和制作。一個(gè)視圖通常是一個(gè)網(wǎng)頁(yè),也可以是一個(gè)頁(yè)面片段,如頁(yè)頭、頁(yè)尾。它還可以是一個(gè) RSS頁(yè)面,或任何其它類(lèi)型的“頁(yè)面”??刂破?(Controller)是模型、視圖以及其他任何處理 HTTP請(qǐng)求所必須的資源之間的中介,并生成網(wǎng)頁(yè)。應(yīng)用控制器(核心控制器App類(lèi))和Action控制器都承擔(dān)了控制器的角色,Action控制器完成業(yè)務(wù)過(guò)程控制,而應(yīng)用控制器負(fù)責(zé)調(diào)度控制。

2 特性概述

本系統(tǒng)在設(shè)計(jì)時(shí)借鑒了很多國(guó)外成熟的框架和設(shè)計(jì)模式,使用面向?qū)ο蟮拈_(kāi)發(fā)方法,采用MVC設(shè)計(jì)模式,融合了Struts框架的Action方法,封裝了創(chuàng)建、更新、讀取、刪除和一些常用操作,在系統(tǒng)配置、模板引擎、類(lèi)庫(kù)導(dǎo)入、查詢語(yǔ)言、表單自動(dòng)驗(yàn)證和完成、視圖模型、模板編譯、緩存控制、SEO優(yōu)化、多數(shù)據(jù)庫(kù)支持、分布式數(shù)據(jù)庫(kù)支持、SSO認(rèn)證機(jī)制等方面都有高效、穩(wěn)定的表現(xiàn)。

其主要特性包括:

CBD架構(gòu):核心+行為+驅(qū)動(dòng)架構(gòu)模式。

編譯機(jī)制:有效減少了面向?qū)ο箝_(kāi)發(fā)中文件加載的性能開(kāi)銷(xiāo)。

類(lèi)庫(kù)導(dǎo)入:本系統(tǒng)的類(lèi)庫(kù)導(dǎo)入方式包括基于類(lèi)庫(kù)包、類(lèi)庫(kù)命名空間等,讓類(lèi)庫(kù)導(dǎo)入更加簡(jiǎn)潔清晰,并且還支持類(lèi)庫(kù)的自動(dòng)加載。為了方便網(wǎng)站群的跨平臺(tái)部署,本系統(tǒng)嚴(yán)格區(qū)分加載文件名稱的大小寫(xiě)。

數(shù)據(jù)庫(kù):支持Mysql、Oracle、SqlServer等數(shù)據(jù)庫(kù),內(nèi)置分布式數(shù)據(jù)庫(kù)和讀寫(xiě)分離功能支持。

查詢語(yǔ)言:系統(tǒng)內(nèi)置了豐富的查詢機(jī)制,主要包括組合查詢、關(guān)聯(lián)查詢、快捷查詢、統(tǒng)計(jì)查詢、多表查詢、子查詢、原生查詢等。

數(shù)據(jù)模型:無(wú)需創(chuàng)建任何對(duì)應(yīng)的數(shù)據(jù)模型類(lèi),輕松完成增、刪、改、查等操作,支持多模型間的動(dòng)態(tài)切換,使得對(duì)數(shù)據(jù)的操作更加簡(jiǎn)便與規(guī)范。

URL路由:本系統(tǒng)支持普通、PATHINFO、REWRITE和兼容模式的URL,支持不同的WEB服務(wù)器和運(yùn)行模式的部署,結(jié)合URL路由功能,可以方便的創(chuàng)建所需要的URL地址和進(jìn)行搜索引擎優(yōu)化優(yōu)化。支持靈活的規(guī)則路由和正則路由以及路由重定向。

模板引擎:系統(tǒng)內(nèi)建了一套性能卓越的基于HTML的編譯型模板引擎,支持模板文件的分離。本套模板引擎借鑒了Smarty的基本流程和方法,并內(nèi)置了頁(yè)面布局功能和插件擴(kuò)展支持。

AJAX異步支持:系統(tǒng)內(nèi)置了一套與客戶端無(wú)關(guān)的AJAX數(shù)據(jù)返回方法,支持XML、JSON和EVAL類(lèi)型數(shù)據(jù)返回客戶端瀏覽器,并且可以擴(kuò)展返回?cái)?shù)據(jù)格式。

多語(yǔ)言支持:系統(tǒng)默認(rèn)使用UTF-8編碼,從而支持多語(yǔ)言包功能。每個(gè)項(xiàng)目和分組都可以擁有單獨(dú)的語(yǔ)言包,并且可以根據(jù)用戶的IP地址、操作系統(tǒng)語(yǔ)言、瀏覽器語(yǔ)言等檢測(cè)方式自動(dòng)加載對(duì)應(yīng)的語(yǔ)言包。

自動(dòng)驗(yàn)證和自動(dòng)完成:自動(dòng)完成用戶表單的數(shù)據(jù)驗(yàn)證和數(shù)據(jù)過(guò)濾,系統(tǒng)集成了IP地址、有效期等多種驗(yàn)證方式,配合自動(dòng)完成可以生成安全可靠的數(shù)據(jù)集對(duì)象。

字段類(lèi)型安全檢測(cè):系統(tǒng)會(huì)自動(dòng)緩存數(shù)據(jù)庫(kù)表的字段名稱和字段類(lèi)型,支持強(qiáng)制的非法字段過(guò)濾和字段類(lèi)型轉(zhuǎn)換,從而確保了數(shù)據(jù)的輸入和查詢更安全。

緩存機(jī)制:系統(tǒng)支持包括文件緩存、數(shù)據(jù)庫(kù)緩存、Memcache服務(wù)器等動(dòng)態(tài)數(shù)據(jù)緩存類(lèi)型,及可定制的靜態(tài)緩存規(guī)則,并提供了快捷方法進(jìn)行存取操作。

擴(kuò)展機(jī)制:系統(tǒng)內(nèi)建的擴(kuò)展包括模式擴(kuò)展、類(lèi)庫(kù)擴(kuò)展、驅(qū)動(dòng)擴(kuò)展、模型擴(kuò)展、行為擴(kuò)展、控制器擴(kuò)展、插件擴(kuò)展等,如此強(qiáng)大靈活的擴(kuò)展機(jī)制使得二次開(kāi)發(fā)人員不再受限于核心程序的不足,隨心定制自己的核心框架和應(yīng)用擴(kuò)展,滿足實(shí)際開(kāi)發(fā)中復(fù)雜的項(xiàng)目需求。

3 系統(tǒng)流程

本系統(tǒng)工作流程如下圖所示:

圖1 系統(tǒng)流程圖

首頁(yè)作為前端控制器,初始化運(yùn)行網(wǎng)站群系統(tǒng)所需要的基本資源。路由(Router)檢查 HTTP請(qǐng)求,以確定誰(shuí)來(lái)處理請(qǐng)求。如果緩存(Cache)文件存在,它將繞過(guò)通常的系統(tǒng)執(zhí)行順序,被直接發(fā)送給瀏覽器。安全(Security)??刂破?Controller)裝載之前,HTTP請(qǐng)求和任何用戶提交的數(shù)據(jù)將被過(guò)濾??刂破餮b載核心庫(kù)、模型庫(kù)、函數(shù)庫(kù),以及任何處理特定請(qǐng)求所需的其它資源。最終視圖(View)渲染發(fā)送到 Web瀏覽器中的內(nèi)容。如果開(kāi)啟緩存(Caching),視圖首先被緩存,所以將可用于以后的請(qǐng)求。

4 站點(diǎn)主要管理流程及實(shí)現(xiàn)

站點(diǎn)管理子系統(tǒng)是站點(diǎn)管理功能的集合,子系統(tǒng)包括站點(diǎn)設(shè)置、主題設(shè)置、模板編輯等功能。其中主要的實(shí)現(xiàn)方法為:

定義站點(diǎn)管理基類(lèi)(WebsiteadminbaseApp),在其中創(chuàng)建初始化檢查(_run_action)、獲取權(quán)限(_get_privileges)、獲取主題(_get_theme)等公共方法,以方便子類(lèi)繼承。

定義主題設(shè)置類(lèi)(My_themeApp),繼承于WebsiteadminbaseApp。My_themeApp類(lèi)主要實(shí)現(xiàn)主題設(shè)置界面(index)、設(shè)置參數(shù)保存(set)、獲取風(fēng)格(_get_themes)等方法。

定義模板編輯類(lèi)(TemplateApp),繼承于WebsiteadminbaseApp。TemplateApp類(lèi)中的主要方法包括可編輯的頁(yè)面列表(index)、頁(yè)面編輯(edit)、保存編輯(save)等。

站點(diǎn)設(shè)置類(lèi)(MywebsiteApp),繼承于WebsiteadminbaseApp。其中的主要方法包括My_websiteApp用于初始化類(lèi)屬性、index用于顯示設(shè)置頁(yè)面及保存設(shè)置參數(shù)、_get_member_submenu用于獲取頁(yè)面子菜單項(xiàng)、_upload_files用于文件的上傳、drop_uploadedfile用于異步刪除附件。

圖2 站點(diǎn)主要管理框架示意圖

5 結(jié)語(yǔ)

本文采用MVC框架進(jìn)行網(wǎng)站群系統(tǒng)的實(shí)現(xiàn),結(jié)合MVC框架的優(yōu)點(diǎn),系統(tǒng)的性能得到了提高,安全性也得到了較大改善,同時(shí)提高了網(wǎng)站群系統(tǒng)的可擴(kuò)展性和可復(fù)用性,

[1]谷巖.淺談高職院校網(wǎng)站群建設(shè)[J].科技資訊,2008,(10):213.

[2]董西尚.網(wǎng)站集群管理系統(tǒng)研究與開(kāi)發(fā)[J].吉林廣播電視大學(xué)學(xué)報(bào),2009,(5):27-29.

[3]董珂.基于角色授權(quán)和MVC模式的內(nèi)容管理系統(tǒng)研究[J].軟件導(dǎo)刊,2009,8(4):47-49.

[4]李剛.Struts2權(quán)威指南:基于WebWork核心的MVC開(kāi)發(fā)[M].北京:電子工業(yè)出版社,2007.

[5]許宏云,李煜.基于thinkphp的權(quán)限控制模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2012,9:234-235

猜你喜歡
類(lèi)庫(kù)視圖路由
用Java編寫(xiě)客戶機(jī)/服務(wù)器端應(yīng)用程序
Python在數(shù)據(jù)可視化中的應(yīng)用
探究路由與環(huán)路的問(wèn)題
數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革方案和應(yīng)用效果
軟件工程(2017年12期)2018-01-29 17:35:55
數(shù)據(jù)結(jié)構(gòu)可視化類(lèi)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)
5.3 視圖與投影
視圖
Y—20重型運(yùn)輸機(jī)多視圖
SA2型76毫米車(chē)載高炮多視圖
PRIME和G3-PLC路由機(jī)制對(duì)比
荥经县| 剑阁县| 忻城县| 洛川县| 论坛| 盐池县| 三原县| 蕉岭县| 吴桥县| 东海县| 万载县| 临漳县| 石狮市| 江山市| 西昌市| 长白| 大庆市| 从化市| 仁寿县| 习水县| 平潭县| 丹阳市| 梁河县| 明溪县| 科技| 阳山县| 淮阳县| 建宁县| 乳源| 淳安县| 隆子县| 龙井市| 铁岭市| 平潭县| 津市市| 家居| 海门市| 阜阳市| 岢岚县| 长海县| 临江市|