淺析JSP動态頁面開(kāi)發優勢和劣勢

2019-06-13

jspflow.JPG

 

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

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

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

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

 優點:

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

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

 3.支持多種網頁格式

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

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


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

1.可以實現真正的前後端解耦,前端服務器使用nginx。

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

(這裏需要使用一(yī)些前端工(gōng)程化的框架比如nodejs,react,router,react,redux,webpack)

2.發現bug,可以快速定位是誰的問題,不會出現互相踢皮球的現象。

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

接口數據出錯,數據沒有提交成功,應答超時等問題,全部由後端工(gōng)程師來解決。

雙方互不幹擾,前端與後端是相親相愛的一(yī)家人。

3.在大(dà)并發情況下(xià),可以同時水平擴展前後端服務器,比如淘寶的一(yī)個首頁就需要2000+台前端服務器做集群來抗住日均多少億+的日均pv。

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

除了接口以外(wài)的其他所有http請求全部轉移到前端nginx上,接口的請求調用tomcat,參考nginx反向代理tomcat。

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

5.即使後端服務暫時超時或者宕機了,前端頁面也會正常訪問,隻不過數據刷不出來而已。

6.也許你也需要有微信相關的輕應用,那樣你的接口完全可以共用,如果也有app相關的服務,

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

7.頁面顯示的東西再多也不怕,因爲是異步加載。

8.nginx支持頁面熱部署,不用重啓服務器,前端升級更無縫。

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

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

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

12.前端大(dà)量的組件代碼得以複用,組件化,提升開(kāi)發效率,抽出來!

 

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

 

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

*請認真填寫需求,我(wǒ)們會在24小(xiǎo)時内與您取得聯系。