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

?

MVC架構(gòu)下網(wǎng)站的設(shè)計與實現(xiàn)思考

2022-12-14 15:51:47張術(shù)梅
信息記錄材料 2022年1期
關(guān)鍵詞:視圖代碼架構(gòu)

張術(shù)梅

(大連交通大學信息學院 遼寧 大連 116045)

0 引言

MVC架構(gòu),就是對Web服務(wù)模式的進一步升級,然后對網(wǎng)站進行優(yōu)化設(shè)計。通過MVC架構(gòu),能夠有效降低網(wǎng)站開發(fā)難度,對網(wǎng)絡(luò)背景下數(shù)據(jù)信息的安全性、網(wǎng)站使用安全而言具有積極的意義。同時,在對網(wǎng)站使用功能的擴展升級上,還有對網(wǎng)站后期使用維護方面,會比以往傳統(tǒng)模式下的網(wǎng)站而言更為簡單化,因此能滿足用戶對網(wǎng)站使用提出的更多需求,是當前更為可靠、先進的網(wǎng)站開發(fā)技術(shù)。

1 MVC架構(gòu)概述

整體來看,MVC就是將模型-視圖-控制器統(tǒng)合起來的一種比較經(jīng)典的網(wǎng)站開發(fā)模型,以此進行網(wǎng)站設(shè)計,能夠切實將網(wǎng)站的界面、相關(guān)數(shù)據(jù)信息、業(yè)務(wù)邏輯等多方面內(nèi)容進行分離,將業(yè)務(wù)邏輯整合成一個部件中。通過這種方式進行網(wǎng)站設(shè)計,業(yè)務(wù)邏輯可不用重寫即可對網(wǎng)站界面進行個性化的設(shè)計和改進,同時還能達到用戶之間的交互功能[1]。除此,通過 MVC架構(gòu)進行網(wǎng)站設(shè)計,其中所用的造價、維護成本、耦合性等特性都比較低,能夠更好促使軟件以工程化的形式進行管理。將MVC架構(gòu)應(yīng)用于網(wǎng)站開發(fā)中,最大目的在于分離視圖與模型,所有工作人員做好自身工作內(nèi)容,進一步提升網(wǎng)站開發(fā)和設(shè)計的工作效率。

傳統(tǒng)ASP及JSP技術(shù)開發(fā)的網(wǎng)站,在動態(tài)網(wǎng)頁中會嵌有大量的業(yè)務(wù)邏輯程序代碼,該類程序的重復利用率比較低,在功能拓展方面也不強,并且后續(xù)的維護工作比較繁瑣,JSP液面是由HTML代碼和JAVA代碼組成的,客戶端請求指示輸入服務(wù)器中以后,JAVA代碼會自行處理相關(guān)信息,然后再將生成的HTML及頁面等信息反饋給客戶端的瀏覽器,不會使頁面的表現(xiàn)和邏輯偏離。如本網(wǎng)站類型的傳統(tǒng)網(wǎng)站設(shè)計,會存在著用戶互動性差、參與性差的缺點,比如用戶可以在網(wǎng)站中瀏覽信息,但是卻不能發(fā)布信息,如今的用戶都追求個性化的功能,希望能夠在登錄網(wǎng)站以后有自己的頁面,比如顏色和內(nèi)容等方面,可以在系統(tǒng)登陸之后DIY布局。在MVC架構(gòu)的支持下,網(wǎng)站的個性化特色更加明顯,以設(shè)計模型的方式提供了全新的開發(fā)框架。

2 MVC設(shè)計模型的原理與網(wǎng)站子系統(tǒng)

2.1 設(shè)計原理

MVC模式的概念就是“模式+視圖+控制器”,應(yīng)用程序是由這3個部分組成,事件與控制器可以改變模式或者視圖,或者同時改變這2個元素,但是控制器改變了模式的數(shù)據(jù)或者屬性,那么視圖也會自動更新,同理控制器如果改變了視圖,視圖也會從模式中獲取新的數(shù)據(jù)更新內(nèi)容。MVC模式其實是將一個應(yīng)用的輸入、處理和輸出流程按照模式、視圖與控制器的方式進行分離,則網(wǎng)站的架構(gòu)就被分為三個層次,分別對應(yīng)著模型層、視圖層與控制層。其中視圖指代著用戶交互界面,對于網(wǎng)站的功能應(yīng)用而言,可以用HTML界面來顯示,有可能會為模型接受視圖請求的數(shù)據(jù),并給出最后的處理結(jié)果。控制器可以接受用戶的請求,將模型和視圖匹配到一起,完成用戶的請求以后,分離模型、視圖和控制器,那么一個模型就可以得到多個顯示視圖,如果用戶用其中某一個視圖的控制器改變了數(shù)據(jù),則其他依賴于這些視圖的控制器都會發(fā)生相應(yīng)的變化,使得數(shù)據(jù)出現(xiàn)相應(yīng)的更新,實際上可以成為模型變化的機制。

2.2 技術(shù)特點

該項技術(shù)具有較低的耦合性,視圖層和業(yè)務(wù)層的分離,則視圖層代碼可以被更改,并不需要重新編譯模型與控制器代碼,只需要根據(jù)業(yè)務(wù)規(guī)則改動MVC技術(shù)的模型層就可以達到理想的效果。該項技術(shù)具有較高的重用性和可適用性,在科學技術(shù)的影響下,訪問應(yīng)用程序的方式更多,MVC模式允許用戶使用不同模式的視圖來訪問同一個服務(wù)器端口的代碼,也包括對WEB瀏覽器和無限瀏覽器的訪問。該項技術(shù)具有較低的生命周期成本,有效降低了用戶接入端口的開發(fā)費用與維護費用,并且后續(xù)的維修與修改非常便利,能夠快速地部署業(yè)務(wù)及功能,大大縮短了應(yīng)用軟件的開發(fā)時間,使得程序員可以集中精力開發(fā)業(yè)務(wù)邏輯與表現(xiàn)形式的創(chuàng)新。該項技術(shù)的應(yīng)用有助于實現(xiàn)軟件的工程化管理,不同層次的人員各司其職,每一層的管理人員都具有不同的職責,且工作的特征也有不同,工程化的管理可以使工具化的管理代碼應(yīng)用于程序管理中,為具體的管理工作提供基礎(chǔ)條件。

3 MVC架構(gòu)下網(wǎng)站的設(shè)計和實現(xiàn)——以XX網(wǎng)站為例

3.1 整體架構(gòu)設(shè)計

XX網(wǎng)站基于MVC 3層架構(gòu)模式開展網(wǎng)站設(shè)計,具體來講:(1)表示層,就是瀏覽器中用戶端所使用的前端,該層架構(gòu)作用就是將用戶所需數(shù)據(jù)以相對簡單的方式展示給用戶;(2)業(yè)務(wù)邏輯層,該層架構(gòu)設(shè)計作用就是相應(yīng)用戶發(fā)出的請求,并根據(jù)其請求對數(shù)據(jù)庫進行增、刪、改、查等操作需求;(3)數(shù)據(jù)持久層,也就是數(shù)據(jù)層,該層目的在于科學存儲數(shù)據(jù)信息,為用戶在使用中提供更為高效率的數(shù)據(jù)增、刪、改、查的操作功能。

3.2 網(wǎng)站模塊設(shè)計

XX網(wǎng)站在進行模塊設(shè)計時可從以下幾個角度進行:(1)圖片管理,該模塊應(yīng)用作用就是網(wǎng)站中管理者對用戶在首頁輪播圖片以及對成果展示版面中的圖片進行更換[2];(2)通知公告管理,該模塊應(yīng)用作用發(fā)布和展示相關(guān)公告信息;(3)文件管理,該層模塊的應(yīng)用功能對網(wǎng)站中的文件進行下載、傳輸?shù)裙δ懿僮?;?)搜索管理,主要是對整個網(wǎng)站系統(tǒng)提供搜索的使用功能;(5)用戶管理,是對使用該網(wǎng)站相關(guān)用戶的登錄、注冊以及網(wǎng)站中超級管理員賬戶進行增刪改查的管理;(6)研究平臺模塊,該模塊是基于網(wǎng)站本身的性質(zhì)進行設(shè)計,為管理員提供可在網(wǎng)站中進行增刪改查的管理權(quán)限;(7)文章信息管理,該模塊是基于編輯器來進行操作,為網(wǎng)站提供文章發(fā)布的途徑和方式。

3.3 網(wǎng)站業(yè)務(wù)流程

XX網(wǎng)站在使用過程中,因面對用戶不同,其業(yè)務(wù)流程也因此存在一定的不同之處。如果只是普通網(wǎng)站用戶,其業(yè)務(wù)流程相對比較簡單,主要是瀏覽XX網(wǎng)站中發(fā)布的相關(guān)通知、公告、辦事所需文檔等內(nèi)容。一般網(wǎng)站中的下載任務(wù)可分為兩種:一種為年報下載,用戶可根據(jù)自身需要選擇特定年份的年報;另一種為專區(qū)文件下載,用戶可通過網(wǎng)站的首頁來查看當前可下載的文件信息,然后根據(jù)需要通過下載專區(qū)進行文件下載和查看。除此,網(wǎng)站還會設(shè)置搜索這一功能,用戶可通過輸入關(guān)鍵詞進行全站搜索,如果出現(xiàn)自己需要的內(nèi)容時,網(wǎng)站會以分頁的方式將搜索內(nèi)容呈現(xiàn)給用戶。

管理員在進行網(wǎng)站管理時可通過以下流程進行:(1)在網(wǎng)站首頁入口登錄,然后進入后臺管理系統(tǒng),對網(wǎng)站文章增刪改發(fā)等相關(guān)操作[3];(2)管理人員可對網(wǎng)頁中的輪播圖片的使用進行相應(yīng)管理,對其進行修改和指向相應(yīng)的連接,對網(wǎng)站中的展示效果圖進行更改和添加,對文件進行上傳、刪除等。從整體上來看網(wǎng)站業(yè)務(wù)流程非常多,網(wǎng)站可根據(jù)自身使用性質(zhì)進行相應(yīng)設(shè)計。

3.4 網(wǎng)站數(shù)據(jù)庫設(shè)計

本次網(wǎng)站系統(tǒng)主要采用MySQL來進行數(shù)據(jù)庫管理,該系統(tǒng)是基于數(shù)據(jù)與數(shù)據(jù)間存在的關(guān)聯(lián),通過對數(shù)據(jù)進行分類放在相應(yīng)表格進行管理,對于表格設(shè)計,可根據(jù)該網(wǎng)站的性質(zhì)進行創(chuàng)建,主要有年度報表、通知表、文章表、政策法規(guī)等。

3.5 網(wǎng)站安全性設(shè)計

對于一個網(wǎng)站而言,其使用安全性非常重要,這對于網(wǎng)站未來的正常運轉(zhuǎn)、數(shù)據(jù)安全性、網(wǎng)站是否會被黑客入侵等具有直接性影響,因此在進行網(wǎng)站設(shè)計時,應(yīng)將安全性作為重點內(nèi)容進行設(shè)計。就本次XX網(wǎng)站設(shè)計而言,該網(wǎng)站的安全性問題主要在于防止XSS、SQL注入網(wǎng)站中。

(1)對于XSS,也就是跨腳本攻擊。具體來講,若當前網(wǎng)站存在XSS漏洞問題情況下,攻擊者就會向其中注入具有惡意性質(zhì)的HTML代碼,客戶在使用網(wǎng)站時,網(wǎng)站就會自動執(zhí)行攻擊者注入的代碼,從而引發(fā)各種各樣的問題。例如,用戶在瀏覽網(wǎng)站過程中,可能會強行進入到指定網(wǎng)站,網(wǎng)頁因此被破壞,用戶信息也可能會被盜取等,以上都是當前比較常見的安全性問題[4]。整體上,跨腳本攻擊,主要是對客戶端進行攻擊,具有被動式特征,而這也是網(wǎng)站開發(fā)者容易忽視的設(shè)計內(nèi)容。對此開發(fā)者在進行網(wǎng)站設(shè)計時,應(yīng)做好對所有輸入代碼的篩選和過濾工作,對存在攻擊性語句進行轉(zhuǎn)義處理,能夠在最短時間內(nèi)將用戶輸入的代碼轉(zhuǎn)為能夠執(zhí)行的代碼進行存儲處理。在展示時能夠?qū)?zhí)行代碼轉(zhuǎn)為文本信息,這樣做的目的在于對用戶信息起到保護作用,有效防止可執(zhí)行代碼直接在網(wǎng)站前臺頁面暴露,這對于進一步強化網(wǎng)站在使用中的安全性具有積極性意義。

(2)對于SQL數(shù)據(jù)庫,其在應(yīng)用中比較常見問題主要是注入性問題。對于注入性問題,簡單來講就是攻擊者在網(wǎng)站數(shù)據(jù)庫引擎中注入惡意數(shù)據(jù)庫命令,然后對服務(wù)器進行相應(yīng)的操作,通過這種方式來獲得數(shù)據(jù)庫中各項數(shù)據(jù)的查閱權(quán)限。這種安全性帶來的后果就是網(wǎng)站中的重要數(shù)據(jù)發(fā)生泄露,特別是用戶名及其密碼名單是當前最容易被攻擊的部分。為有效解決這類安全問題,可采取以下兩種方法進行處理:①對SQL命令進行參數(shù)化處理,也可以通過存儲過程對數(shù)據(jù)進行相應(yīng)的查詢和獲取,將動態(tài)拼裝命令去除;②用戶在輸入所查詢內(nèi)容時,系統(tǒng)對此進行相應(yīng)的轉(zhuǎn)換和校驗。通過以上,能夠最大化地改善網(wǎng)站數(shù)據(jù)庫在使用過程中遇到的注入性安全問題。

3.6 關(guān)鍵技術(shù)的設(shè)計和實現(xiàn)

(1)對于XX網(wǎng)站中的圖片進行傳輸和文件下載時,本次網(wǎng)站設(shè)計采用百度ueditor編輯器為核心插件,該插件具有非常強的使用功能,能夠基本滿足當前系統(tǒng)所需要的各項使用需求。但在實際使用中還是存在一些不足之處,若用戶上傳的圖片比較大,系統(tǒng)就會默認將原圖大小顯示出來,這種情況下也就使得最終呈現(xiàn)出來的圖片鋪面整個顯示屏。對于該問題的解決方式主要在于源碼查詢,通過對圖片的高、寬等參數(shù)進行自適應(yīng)設(shè)置,但這種設(shè)置方式又會引發(fā)另一問題:無論圖片大小,最終寬度統(tǒng)一[5]。而ueditor編輯器能夠為網(wǎng)站提供兩個上傳按鈕,一個按鈕采取單圖的方式進行上傳;另一個按鈕采取多圖的方式進行上傳。對此可通過折中的方式進行上傳,如果圖片大,可通過單圖按鈕完成上傳操作,最后圖片呈現(xiàn)效果就是原本設(shè)定好的寬度參數(shù);如果圖片小,可采取多圖按鈕完成上傳操作。除此,ueditor編輯器添加附件后,若文件格式為.txt或.pdf等,對該格式下的附件進行下載操作時,網(wǎng)站就會直接解析。通過查看源碼,資源鏈接只是使用一個簡單標簽,對此可通過對源碼進行修改,用戶點擊附件就會避免被網(wǎng)站直接解析,并通知網(wǎng)站開始下載操作[6]。

(2)在進行該網(wǎng)站設(shè)計時,大部分內(nèi)容采用分頁加載技術(shù)進行設(shè)計。相比較于其他系統(tǒng)存在的不同之處,以往都是直接將頁碼拿到前端,通過limit即可直接查詢,但本系統(tǒng)中數(shù)據(jù)庫設(shè)計采用type字段進行設(shè)計,將數(shù)據(jù)資源根據(jù)類型進行劃分,且這些數(shù)據(jù)的順序錯綜復雜,如果需要對其中某項type類數(shù)據(jù)采取分頁加載,每一次加載后的數(shù)據(jù)會對最后一條數(shù)據(jù)ID進行記錄,以此作為下次分頁起點,這種設(shè)計方式的優(yōu)勢在于ID建立索引,能夠起到對系統(tǒng)性能的優(yōu)化作用。

(3)完成該網(wǎng)站的基本功能開發(fā)后,對于客戶提出的其他需求,應(yīng)做好對內(nèi)外網(wǎng)的管制工作[7]。例如,若XX網(wǎng)站為校園網(wǎng),部分內(nèi)容只能通過校園網(wǎng)進行查看和下載操作,為解決這種使用需求,可通過以下兩種方式:①對數(shù)據(jù)庫表進行修改,通過添加字段的方式進行區(qū)分,決定外網(wǎng)的使用權(quán)限,但這種方式不夠現(xiàn)實,因修改規(guī)模比較大,對開發(fā)者而言具有非常大的難度;②新增表格,該表格主要用于具有校園網(wǎng)使用權(quán)限的用戶進行資源查看和下載。除此,為更好地強化網(wǎng)站系統(tǒng)在使用中的響應(yīng)能力,可通過數(shù)據(jù)緩存、監(jiān)聽等技術(shù),降低網(wǎng)站在操作中的性能損耗,進一步強化其響應(yīng)能力。

3.7 前端頁面的簡要展示

該網(wǎng)站的主界面9個主要的選項卡功能,以此構(gòu)成的展示區(qū)域,包括部門首頁、組織機構(gòu)及政策法規(guī)等信息,還有科研平臺、科技成果及知識產(chǎn)權(quán)等功能,主要是用于對外展示該單位的科研成果及最新動態(tài),包括該單位的一些科研資料等,有時會在主頁上發(fā)布通知及文件。該網(wǎng)頁的科技處后臺需要管理人員用特定的賬號登錄,才能擁有操作權(quán)限,后臺的管理人員可以發(fā)布關(guān)于科學類的資料,或者調(diào)整網(wǎng)站的管理功能,平臺上的系統(tǒng)會根據(jù)不同類型的文章,按照類別發(fā)布到對應(yīng)的模塊上。管理員可以分布的信息并不固定,可以發(fā)布學術(shù)年報、其他網(wǎng)站的連接或者該單位最新的科技動態(tài)等。

3.8 系統(tǒng)使用的效果

該網(wǎng)站在設(shè)計時經(jīng)過了系統(tǒng)測試的環(huán)節(jié),該環(huán)節(jié)也是一款應(yīng)用軟件在上架前的最后環(huán)節(jié),本網(wǎng)站通過白盒測試與黑盒測試以后,經(jīng)歷半年的試用期,確認穩(wěn)定才能正式登錄上線使用。該網(wǎng)站上線使用距今已有兩年的時間,期間因為需求的問題已經(jīng)對系統(tǒng)的功能實現(xiàn)相應(yīng)的拓展,期間并沒有出現(xiàn)任何的安全事故與相關(guān)問題,該系統(tǒng)的運行非常流暢,而且使用效果是比較好的,滿足了本單位的基本要求,在性能方面也能夠滿足實用的要求。

4 結(jié)語

綜上所述,基于MVC架構(gòu)來進行網(wǎng)站研發(fā)和設(shè)計,進一步提升網(wǎng)站在未來使用中的維護效率和質(zhì)量,有效保證數(shù)據(jù)在其中的安全性?;诖?,相關(guān)開發(fā)人員應(yīng)重視對該方面的研發(fā),使其更好地應(yīng)用于網(wǎng)站設(shè)計中。同時,設(shè)計人員要針對網(wǎng)站中的數(shù)據(jù)安全進行完善,針對XSS與SQL等問題做出有效的防范,以保證數(shù)據(jù)的安全性,經(jīng)過改造后的系統(tǒng)可以上傳編輯器改造以后的圖片,應(yīng)用數(shù)據(jù)表格的分頁加載技術(shù)以后,本網(wǎng)站對外網(wǎng)的訪問權(quán)限也做出了相應(yīng)的限制,已經(jīng)大幅度地提升了網(wǎng)站系統(tǒng)對信息的響應(yīng)速度和數(shù)據(jù)的安全性。尤其是經(jīng)過了兩年的使用以后,驗證了該網(wǎng)站系統(tǒng)的運行是比較穩(wěn)定的,無論是數(shù)據(jù)的安全方面,還是功能的擴展方面,都具有一定的優(yōu)勢。

猜你喜歡
視圖代碼架構(gòu)
基于FPGA的RNN硬件加速架構(gòu)
功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實踐
汽車工程(2021年12期)2021-03-08 02:34:30
創(chuàng)世代碼
動漫星空(2018年11期)2018-10-26 02:24:02
創(chuàng)世代碼
動漫星空(2018年2期)2018-10-26 02:11:00
創(chuàng)世代碼
動漫星空(2018年9期)2018-10-26 01:16:48
創(chuàng)世代碼
動漫星空(2018年5期)2018-10-26 01:15:02
5.3 視圖與投影
視圖
LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實現(xiàn)
電信科學(2017年6期)2017-07-01 15:45:17
Y—20重型運輸機多視圖
延川县| 清水河县| 灵川县| 无极县| 望江县| 铁岭市| 黑龙江省| 芒康县| 鹤峰县| 西丰县| 岳普湖县| 舞阳县| 双辽市| 田东县| 麻阳| 读书| 藁城市| 海伦市| 枣阳市| 望谟县| 纳雍县| 东丽区| 曲阳县| 石楼县| 乌兰浩特市| 阿勒泰市| 同仁县| 金沙县| 嘉禾县| 太康县| 响水县| 昌平区| 盈江县| 长乐市| 皋兰县| 石楼县| 上饶县| 海南省| 珠海市| 油尖旺区| 舒兰市|