淺析JSP動态頁面開發優勢和(hé)劣勢

2019-06-13

jspflow.JPG

 

網站前端:html5 js jquery ajax css ps flash json xml
網站後端(服務器):jsp php asp.net
網站構成:運行平台 web服務器和(hé)應用(yòng)服務器 服務器端腳本 客戶端腳本 數據庫
靜态網頁:靜态網頁是不能随便改動的(de),靜态是一次性寫好放在服務器上進行浏覽的(de),如果想改動,必須在頁面上修改,然後再上傳服務器覆蓋原來(lái)的(de)頁面,這(zhè)樣才能更新信息,比較麻煩,使用(yòng)者不能随時(shí)更改。
動态網頁:動态網頁是可(kě)以随時(shí)改變内容的(de),有前後台之分(fēn),管理(lǐ)員(yuán)可(kě)以在後台随時(shí)更新網站的(de)内容,前台頁面的(de)内容也(yě)會随之更新,比較簡單易學。
動态網頁的(de)特點:  交互性(網頁會根據用(yòng)戶的(de)要求和(hé)選擇而動态改變和(hé)響應)。 自動更新(無需手動操作,便會自動生成新的(de)頁面),随機性(不同的(de)人(rén)和(hé)時(shí)間訪問同一網址會産生不同的(de)頁面效果)

Ajax是一種用(yòng)于創建快(kuài)速動态網頁的(de)技術。(可(kě)進行局部更新)
Linux系統:Linux是一套免費使用(yòng)和(hé)自由傳播的(de)類Unix操作系統,是一個(gè)基于POSIX和(hé)UNIX的(de)多(duō)用(yòng)戶、多(duō)任務、支持多(duō)線程和(hé)多(duō)CPU的(de)操作系統。繼承了(le)Unix以網絡爲核心的(de)設計思想,是一個(gè)性能穩定的(de)多(duō)用(yòng)戶網絡操作系統。
C/S(Client/Server或客戶/服務器模式):word excel
特點:升級麻煩、 維護不易、 安全性好、 速度快(kuài)
B/S(Brower/Server或浏覽器/服務器模式):新浪 搜狐
特點:升級容易、 維護方便、 對(duì)客戶機性能要求不高(gāo)
兩者區(qū)别:cs架構的(de)應用(yòng)程序需要在用(yòng)戶的(de)計算(suàn)機上進行安裝,而bs架構的(de)應用(yòng)程序不需要在用(yòng)戶的(de)計算(suàn)機上進行安裝,隻需要有一個(gè)浏覽器就可(kě)以運行。

JSP的(de)優缺點
  1. JSP技術極大(dà)的(de)增加了(le)産品的(de)複雜(zá)性.爲了(le)獲得(de) 系統的(de)跨平台功能和(hé)産品伸縮能力,java系統開發了(le)多(duō)種産品,如,JRE,JDK,J2EE,EJB,JSWDK,JavaBeans ,隻有有效地将它們組合在一起,才能産生強大(dà)的(de)功能.(部署有難度)
  2. java的(de)高(gāo)效率運行需要占用(yòng)大(dà)量的(de)内存和(hé)硬盤空間. 一方面,java的(de)高(gāo)速運行是通(tōng)過 .class文件常駐内存來(lái)實現的(de).另一方面,還(hái)需要硬盤空間來(lái)存儲一系列的(de).java 文件和(hé).class文件以及對(duì)應的(de)版本文件.(硬件要求高(gāo))
   3. JSP程序調試困難.

 JSP頁面執行時(shí), 首先被轉換爲 .java文件(Servlet), 然後将.java文件編譯爲字節碼文件. 這(zhè)樣,出錯信息實際上指向的(de)是轉換後的(de)那個(gè).java文件(Servlet), 而不是JSP本身. (調試有難度)

 優點:

1.JSP代碼跨平台, 即一次編寫,處處運行
衆所周知,由于微軟的(de)壟斷性,它的(de)産品可(kě)移植性做(zuò)得(de)十分(fēn)差,ASP也(yě)不例外,
2.JSP組件跨平台

 JSP組件(企業JavaBeans,JavaBeans或定制的(de)JSP标簽)都是跨平台可(kě)重用(yòng)的(de).企業JavaBeans組件可(kě)以訪問傳統的(de)數據庫,并能以分(fēn)布式系統模式工作于Solaris,Linux,UNIX和(hé)Windows平台.

 3.支持多(duō)種網頁格式

 目前, JSP技術支持的(de)網頁格式還(hái)沒有一個(gè)明(míng)确的(de)标準.一般來(lái)說,JSP技術既可(kě)以支持HTML/DHTML的(de)傳統浏覽器文件格式,又可(kě)以支持應用(yòng)于無線通(tōng)信設備如移動電話(huà),PDA等設備進行網頁預覽的(de)WML文件格式,還(hái)可(kě)以支持其他(tā)一些B2B電子商務網站應用(yòng)的(de)XML格式.

 4.JSP标簽可(kě)擴充性
盡管ASP和(hé)JSP都使用(yòng)标簽與腳本技術來(lái)制作動态Web網頁,JSP技術允許開發者擴展JSP标簽,定制JSP标簽庫,所以網頁制作者充分(fēn)利用(yòng)與XML兼容的(de)标簽技術強大(dà)的(de)功能,大(dà)大(dà)減少對(duì)腳本語言的(de)依賴.由于定制标簽技術,使網頁制作者降低了(le)制作網頁的(de)複雜(zá)度.
5.健壯性與安全性
由于JSP頁面使用(yòng)的(de)腳本語言是java語言, 因此,它就具有java技術的(de)所有好處, 包括健壯的(de)存儲管理(lǐ)和(hé)安全性.


JSP前後分(fēn)離的(de)優勢:

1.可(kě)以實現真正的(de)前後端解耦,前端服務器使用(yòng)nginx。

前端/WEB服務器放的(de)是css,js,圖片等等一系列靜态資源(甚至你還(hái)可(kě)以css,js,圖片等資源放到特定的(de)文件服務器,例如阿裏雲的(de)oss,并使用(yòng)cdn加速),前端服務器負責控制頁面引用(yòng)&跳轉&路由,前端頁面異步調用(yòng)後端的(de)接口,後端/應用(yòng)服務器使用(yòng)tomcat(把tomcat想象成一個(gè)數據提供者),加快(kuài)整體響應速度。

(這(zhè)裏需要使用(yòng)一些前端工程化(huà)的(de)框架比如nodejs,react,router,react,redux,webpack)

2.發現bug,可(kě)以快(kuài)速定位是誰的(de)問題,不會出現互相踢皮球的(de)現象。

頁面邏輯,跳轉錯誤,浏覽器兼容性問題,腳本錯誤,頁面樣式等問題,全部由前端工程師來(lái)負責。

接口數據出錯,數據沒有提交成功,應答(dá)超時(shí)等問題,全部由後端工程師來(lái)解決。

雙方互不幹擾,前端與後端是相親相愛(ài)的(de)一家人(rén)。

3.在大(dà)并發情況下(xià),可(kě)以同時(shí)水(shuǐ)平擴展前後端服務器,比如淘寶的(de)一個(gè)首頁就需要2000+台前端服務器做(zuò)集群來(lái)抗住日均多(duō)少億+的(de)日均pv。

4.減少後端服務器的(de)并發/負載壓力

除了(le)接口以外的(de)其他(tā)所有http請求全部轉移到前端nginx上,接口的(de)請求調用(yòng)tomcat,參考nginx反向代理(lǐ)tomcat。

且除了(le)第一次頁面請求外,浏覽器會大(dà)量調用(yòng)本地緩存。

5.即使後端服務暫時(shí)超時(shí)或者宕機了(le),前端頁面也(yě)會正常訪問,隻不過數據刷不出來(lái)而已。

6.也(yě)許你也(yě)需要有微信相關的(de)輕應用(yòng),那樣你的(de)接口完全可(kě)以共用(yòng),如果也(yě)有app相關的(de)服務,

那麽隻要通(tōng)過一些代碼重構,也(yě)可(kě)以大(dà)量複用(yòng)接口,提升效率。(多(duō)端應用(yòng))

7.頁面顯示的(de)東西再多(duō)也(yě)不怕,因爲是異步加載。

8.nginx支持頁面熱(rè)部署,不用(yòng)重啓服務器,前端升級更無縫。

9.增加代碼的(de)維護性&易讀性(前後端耦在一起的(de)代碼讀起來(lái)相當費勁)。

10.提升開發效率,因爲可(kě)以前後端并行開發,而不是像以前的(de)強依賴。

11.在nginx中部署證書(shū),外網使用(yòng)https訪問,并且隻開放443和(hé)80端口,其他(tā)端口一律關閉(防止黑(hēi)客端口掃描),内網使用(yòng)http,性能和(hé)安全都有保障。

12.前端大(dà)量的(de)組件代碼得(de)以複用(yòng),組件化(huà),提升開發效率,抽出來(lái)!

 

責任編輯:中山網站建設
 【網訊網絡】國家高(gāo)新技術企業》十年專注軟件開發,網站建設,網頁設計,APP開發,小程序,微信公衆号開發,定制各類企業管理(lǐ)軟件(OA、CRM、ERP、訂單管理(lǐ)系統、進銷存管理(lǐ)軟件等)!服務熱(rè)線:0760-88610046、13924923903,http://www.wansion.net

 

您的(de)項目需求咨詢熱(rè)線:0760-88610046(國家高(gāo)新技術企業)

*請認真填寫需求,我們會在24小時(shí)内與您取得(de)聯系。