HTML(Hypertext Markup Language)文本标記語言,是靜态頁面,和JavaScript一樣解釋性語言。
JSP(Java Server Page)Java服務端的頁面,是動态頁面。需要經過JDK編譯後把内容發給用戶端顯示。需要在服務端進行轉譯和編譯。
差別:
1、HTML能直接打開,jsp隻能釋出到Tomact等伺服器上才能打開。
2、HTML頁面是靜态頁面可以直接運作,JSP頁面是動态頁它運作時需要轉譯成servlet。
3、表頭不同,jsp:“ <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>”在表頭中有編碼格式和導入包等。
4、在jsp中用<%%>就可以寫Java代碼了,而html沒有<%%>
html的優點:
1、開發過程中前端與後端脫離,互動通過JSON傳輸來實作
2、跨平台能力更強,依托于浏覽器的支援
3、使背景資料接口能夠得到複用
html的缺點:
1、開發難度大,考慮浏覽器的相容性
2、頁面請求過多
3、屬于後加載,無法被爬蟲爬到
4、接口代碼需要新增很多
5、無法直接顯示java實體類對象,需要轉換為json格式
jsp的優點:
1.可被爬蟲爬到
2.減少請求次數
jsp的缺點:
1.增大了伺服器的壓力
2.前端與後端未脫離,拖慢開發進度
3.過于依賴java運作環境
4.複用較低。
請求方式
以前老的方式是:
1.用戶端請求
2.服務端的servlet或controller接收請求(後端控制路由與渲染頁面,整個項目開發的權重大部分在後端)
3.調用service,dao代碼完成業務邏輯
4.傳回jsp
5.jsp展現一些動态的代碼
新的方式
1.浏覽器發送請求
2.直接到達html頁面(前端控制路由與渲染頁面,整個項目開發的權重前移)
3.html頁面負責調用服務端接口産生資料(通過ajax等等,背景傳回json格式資料,json資料格式因為簡潔高效而取代xml)
4.填充html,展現動态效果,在頁面上進行解析并操作DOM。
(有興趣的童鞋可以通路一下阿裡巴巴等大型網站,然後按一下F12,監控一下你重新整理一次頁面,他的http是怎麼玩的,大多數都是單獨請求背景資料,
使用json傳輸資料,而不是一個大而全的http請求把整個頁面包括動+靜全部傳回過來)
參考文章:
JavaWeb項目為什麼我們要放棄jsp?為什麼要前後端解耦?為什麼要前後端分離?2.0版,為分布式架構打基礎。