純Html+Ajax和JSP兩者對比的個人理解


最近寫個人web,用jsp+servlet做,突然想到一個問題:html+ajax似乎和jsp實現效果一樣;那么,兩者到底有什么區別呢?

這里參考老猿的一段話:

  1. 全站ajax會維護大量的js代碼,如何管理好這些js需要考慮。js的技術選型也需要考慮。我當時是require+backbone+underscore+jquery等。效果上,頁面流暢度不錯,體驗也不錯。作為后端來說,只需提供數據接口,前端壓力較大。前端沒有什么規范可遵循。

  2. 傳統后端渲染比較直接一點,大部分的框架都有現成的機制和規范,開發速度比較快。用戶體驗上不如ajax來的流暢。因為有規范化的體系,管理后端代碼比管理前端代碼更容易。

對此,我非常認同。有些人表示,盡可能項目不用jsp,完全使用html+ajax,完全不用JSP或者任何的模版在一個大點的項目里都有些極端。

畢竟很多數據在后端生成比前端AJAX訪問效率更高。AJAX做一些交互的通信,局部刷新更合適。

 


具體問題 :Ajax在什么情況下不如jsp,php?

在返回查詢的實時性上,ajax不如jsp.php.asp等動態語言
ajax的顯示效果確實是比jsp好,因為它實現的是無刷新技術,可以不用刷新、跳轉網頁就可以查詢、返回數據,但實時性不太好控制。
非ajax的是比如說:a頁面是一個注冊信息的頁面,用戶寫完后,可以點"注冊"后,提交到b頁面(在b頁面中檢測用戶名是否已注冊),這時產生了一個刷新頁面的操作.
而ajax是可以在a頁面中就直接不用刷新頁面就可以檢測用戶名是否被注冊(可以看一下現在的各大網站的用戶注冊大部分采用的是ajax技術檢測的).
但是,這個但是很重要,在ajax檢測完頁面后,到頁面提交這段時間可能會有人注冊你正在注冊的用戶名,所以,你還要在b頁面中再檢測一次.
還有一個但是,比如說在服務器過慢時(雖然這種情況不多),可能長時間無法返回檢測用戶是否已注的信息.
這兩個但是就是我所指的實時性的問題.ajax不可能作到這兩點.
當兩種事情無明顯的先后順序時,你可以用ajax技術,而且這樣作方便使用者.
但是當兩件事有先后順序時,比如用戶要先注冊,后佬能登錄,這時你就不能用ajax同時進行,因為這樣易出錯.
總結:
一.ajax的優點:
    1.開發過程中前端與后端脫離,交互通過JSON傳輸來實現
 
        
    2.跨平台能力更強,依托於瀏覽器的支持
 
        
    3.使后台數據接口能夠得到復用
 
        
二.ajax的缺點:
 
        
    1.開發難度大,考慮瀏覽器的兼容性
 
        
    2.頁面請求過多
 
        
    3.屬於后加載,無法被爬蟲爬到
 
        
    4.接口代碼需要新增很多
 
        
    5.無法直接顯示java實體類對象,需要轉換為json格式
 
        
三.jsp的優點:
 
        
    1.可被爬蟲爬到
 
        
    2.減少請求次數
 
        
    3.不用考慮瀏覽器的兼容性
 
        
四.jsp的缺點:
 
        
    1.增大了服務器的壓力
 
        
    2.前端與后端未脫離,拖慢開發進度
 
        
    3.過於依賴java運行環境
 
        
    4.復用較低。
 
        

作為一個java,前端水平有限,我還是傾向於jsp快速完成開發,但如果頁面有大量交互 需要多次和服務器溝通 ajax 十分方便的, 如果是個偏靜態的頁,直接服務端生成內容就好了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM