999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

JavaWEB開發前后端數據解耦合的思考

2019-07-12 09:08:56劉嵩李文蕙
消費導刊 2019年43期

劉嵩 李文蕙

武漢軟件工程職業學院

一、前言

使用JavaWEB進行WEB應用開發的方案有很多種,例如早期的純JSP模式、JSP+JavaBean模式以及經典的MVC設計模式。

(一)純JSP模式

早期WEB應用開發需求很簡單時,開發者會使用純JSP的方式來實現系統需求。一部分JSP混合Java代碼和HTML標簽用來呈現數據,另外一部分JSP負責業務邏輯和數據訪問。這種方式只適合于業務流程簡單的應用,如果系統復雜則導致JSP代碼可讀性差,難以維護。

(二)JSP+JavaBean模式

為了提高程序代碼的可讀性和可維護性,開發者開始使用JSP+JavaBean的模式進行網站開發。JSP負責數據顯示,JavaBean負責業務邏輯和數據訪問。這種方式讓代碼更易讀,提高了邏輯代碼的可重用性,適合小型項目的快速構建。

(三)MVC模式

前面兩種開發模式下大部分WEB應用都是將邏輯代碼和數據呈現代碼混在一起。為了強制性將邏輯代碼和數據呈現代碼分離,MVC模式使用模型進行邏輯處理和數據處理,視圖負責數據顯示,控制器負責調度業務邏輯和響應策略。

在MVC模式的指導思想下又逐步發展出Struts等JavaEE框架。他們雖然實現了數據呈現代碼和業務邏輯代碼的分離,但最終在數據呈現代碼里還是混合了HTML代碼和Java代碼或者相關的Java標簽庫,在數據呈現代碼中存在前后端數據的耦合。

二、數據耦合帶來的問題

前后端數據耦合會給開發帶來一系列問題:

(一)開發人員要求高

前后端數據耦合在一起帶來的直接問題吉居士對開發人員的要求會更高。首先,開發人員需要同時熟練掌握HTML、CSS、Javascript等前端技術和后段的服務器技術。如果某一方面的技能稍弱,就可能導致開發人員的工作無法順利完成。

(二)代碼開發維護成本高

前后端數據耦合會增加開發過程中的開發成本。前端代碼混合后端代碼會降低代碼的可讀性,如果后期需求發生變化,后端數據變更會對前端代碼產生很大的影響。在開發過程中經常出現前端工作需要等待后端工作完成后才能展開,開發效率低。

(三)JSP運行效率低

前端JSP代碼第一次運行時會轉換成Servlet后再編譯執行,其后每次執行都會先請求Servlet,然后再由Servlet輸出成HTML代碼。運行效率比直接執行HTML代碼低上很多。

(四)性能難以優化

以前的JavaWEB應用常使用JSP作為視圖層展示數據,因為用戶并發訪問量不高,所以對性能要求并不是很高。隨著互聯網的飛速發展,對于WEB應用的訪問性能要求是越來越高,因此原來前后端耦合在一起的模式已經逐漸不能滿足性能要求,因此需找一種解耦的方式,來大幅度提升負載能力。

三、減少前后端數據耦合的思路

減少前后端數據耦合的基本思路是在通過前端服務器上的HTML頁面,使用Javascript發送異步請求的方式,對后端服務器代碼進行調用,后端服務器代碼使用JSON數據進行交互。

將HTML、CSS、Javascript等靜態資源放在前端服務器上,Java代碼放在后端服務器上,實現前端內容和后端內容在物理服務器上的分離。當前端服務器接收到瀏覽器請求時,前端服務器代碼通過Javascript發送一個異步請求交給后端服務器,后端服務器接收到請求后完成相應的權限判斷,數據庫訪問、業務邏輯等等操作后,將執行結果通過JSON的方式進行返回。前端服務器接收JSON數據后根據內容填充頁面再最終返回給瀏覽器。

原來MVC思想中的Controller的角色不再由Java代碼承擔,而是由前端的Javascript代碼負責對視圖View和后臺Model的調用。前后端服務器分離后,在業務場景需要的時候可以針對前端或者后端服務器通過擴展集群的方式快速提高系統響應能力。前后端數據解耦后,可以很好的解決前后端分工協調的問題,將更多的控制調度邏輯交給前端服務器代碼來處理,而后端服務器則可以側重業務邏輯本身,比如提供API接口,進行權限控制以及進行運算工作。

在開發環節,通過搭建Nodejs服務器,前端開發人員可以利用插件,實現本地開發然后將請求轉發給后端服務器。前端在開發過程中可以與后端開發分離,通過模擬的方式實現業務場景。后端開發人員只需要按照約定的API實現對應格式的JSON數據返回就可以了,不用去關心前端實現效果如何。前后端之間可以同時進行,不用相互等待,開發效率高。同時前后端分離后如果出現異常也可以將異常產生的范圍縮小,方便測試排查。

總結:降低前后端數據耦合可以為項目開發維護帶來很多好處。首先,前端代碼不再含有后端代碼,提高了前端代碼的可讀性,降低了前后端的耦合性。其次,前后端數據耦合減少使得開發人員的工作明確,前后端開發人員不需要相互等待進度,提高了開發效率。最終,由于數據耦合減少,提高了代碼的可維護性,減少后期代碼維護成本。開發者可以根據項目情況靈活選擇方案,使用合適的前后端數據耦合方式。

主站蜘蛛池模板: 国产高清在线观看| 狠狠综合久久久久综| 一区二区三区国产精品视频| 国产一级视频在线观看网站| 亚洲天堂在线视频| 成年A级毛片| 99久久精品免费观看国产| 国产日韩欧美视频| 在线播放精品一区二区啪视频| 国产精品久久久久无码网站| 亚洲免费三区| 久久久亚洲色| 538国产视频| 在线亚洲小视频| 女人18毛片水真多国产| 91毛片网| 亚洲男人在线天堂| 精品無碼一區在線觀看 | 国产精品妖精视频| 天天综合色网| 免费在线观看av| 国产欧美成人不卡视频| 亚洲一区二区三区国产精品| 久久综合丝袜长腿丝袜| 亚洲美女AV免费一区| 黄色网在线免费观看| 久久婷婷色综合老司机 | 国产十八禁在线观看免费| 久久精品国产一区二区小说| 成人福利免费在线观看| 日本爱爱精品一区二区| 青青青国产在线播放| 亚洲日韩精品伊甸| 91精品小视频| 精品国产aⅴ一区二区三区| 91久久偷偷做嫩草影院精品| 久久99久久无码毛片一区二区| 在线免费亚洲无码视频| 久久精品视频一| 在线免费看片a| 国产国产人免费视频成18| 色网站在线视频| 免费一级无码在线网站| 免费不卡在线观看av| 国产亚洲精品在天天在线麻豆| 999精品视频在线| 视频二区亚洲精品| 日韩欧美91| 成人va亚洲va欧美天堂| 欧美性精品不卡在线观看| 欧美精品成人| 宅男噜噜噜66国产在线观看| 精品国产女同疯狂摩擦2| 日韩免费毛片视频| yy6080理论大片一级久久| 国产麻豆永久视频| 最新国语自产精品视频在| 亚洲欧美日韩久久精品| 国产女人在线| 成年午夜精品久久精品| 97av视频在线观看| 久久久久无码精品| 日本欧美中文字幕精品亚洲| 国产成人AV大片大片在线播放 | 国产乱人伦精品一区二区| 国产欧美日韩91| 狂欢视频在线观看不卡| 四虎亚洲精品| 99热这里只有精品2| 亚洲an第二区国产精品| 超级碰免费视频91| 黄色在线网| 最新无码专区超级碰碰碰| 亚洲一欧洲中文字幕在线| 91国语视频| 超清人妻系列无码专区| 国产福利不卡视频| 久久国产乱子| 免费无码在线观看| 久久亚洲黄色视频| 人妻精品久久无码区| 亚洲毛片网站|