一、概述
剛開始學習Javaweb開發的小伙伴都有一個疑惑:用jsp開發前端還是用HTML開發前端呢?
這個疑惑的來源主要是:剛接觸完前端但又不深入學習js,接着學習jsp,發現老師們都一直用着jsp做頁面進行教學,發現自己一直沒有使用過HTML文本做頁面。
原因:不明確區分HTML和jsp,不知道靜態頁面和動態頁面的作用
雖然jsp里面有HTML標簽,但是HTML是靜態頁面,而jsp是動態頁面
簡單的說:1. HTML不能直接訪問數據庫的信息(靜態頁面都不行),它們都需要使用js來調用后台接口(比如使用AJAX實現異步請求)來實現數據訪問--純前端
2. jsp是使用特定標簽(JSTL標簽)來調用Java代碼來訪問數據庫信息(為了理解簡單就這么說了)
流程: 1. 瀏覽器->輸入網址->服務器響應->返回XX.html
2. 瀏覽器->輸入網址->服務器響應->將.jsp解析成靜態頁面->返回XX.jsp或者/servlet配置文件的路徑(沒有后綴名)
二、對比靜態頁面和動態頁面
1. 靜態頁面(使用HTML):
全異步,完全通過ajax獲取數據和構建頁面;
開發和調試頁面方便,不依賴后端;
壓力在客戶端,可能沒有jsp安全;
接口代碼需要新增較多(控制層)
2. 動態頁面(使用jsp):
通過EL語言、JSP標記庫(如JSTL標簽庫)等等來獲取數據、構建頁面以及調用方法,動態數據通過ajax獲取;
前端頁面的實現和調試麻煩,依賴后端,不能獨立開發;
壓力在服務器端,因為所有邏輯都在后台,相對安全,數據存放在服務器端;
綜述:都可以獨立作為web開發,但不推薦;而是應該根據不同的頁面功能需求使用不同技術 1. 大多數查詢類頁面,上動態數據比較少,使用html+AJAX,前端負責js異步調用api接口,這樣頁面改版時,不需要再改jsp,耦合大大降低; 2. 但對於復雜的頁面,動態數據很多,比如支付下單(可能當前頁面需要后台很多同步的邏輯校驗)的頁面還是走jsp。
另外,如果一個頁面在異步加載數據之前由於數據還沒出來而嚴重影響到了體驗和流程交互,則建議還是同步走jsp,選擇局部使用ajax。
以上是個人在學習的路途遇到的問題和解決問題時得出來的淺顯的總結,若有不對之處,還望各路大佬指出和說明!
歡迎轉載:https://www.cnblogs.com/dennyLee2025/p/10465074.html