HTML(Hypertext Markup Language)文本標記語言,它是靜態頁面,和JavaScript同樣解釋性語言,爲何說是解釋性語言呢?由於,只要你有一個瀏覽器那麼它就能夠正常顯示出來,而不須要指定的編譯工具,只需在TXT文檔中寫上HTML標記就OK。
JSP(Java Server Page)看這個意思就知道是Java服務端的頁面,因此它是動態的,它是須要通過JDK編譯後把內容發給客戶端去顯示,咱們都知道,Java文件編譯後會產生一個class文件,最終執行的就是這個class文件,JSP也同樣,它也要編譯成class文件!JSP不止要編譯,它還得要轉譯,首先把JSP轉譯成一個Servlet文件,而後在編譯成class文件。當用戶訪問JSP時就執行了class文件,最 終......javascript
1.最簡單的區別就是,HTML能直接打開,jsp只能發佈到Tomact等服務器上才能打開php
2.定義上HTML頁面是靜態頁面能夠直接運行,JSP頁面是動態頁它運行時須要轉換成servlethtml
3.他們的表頭不一樣,這個是JSP的頭「 <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>」在表頭中有編碼格式和導入包等前端
4.也是很好區分的在jsp中用<%%>就能夠寫Java代碼了,而html沒有<%%>java
html的優勢: jsp的優勢:web
1.開發過程當中前端與後端脫離,交互經過JSON傳輸來實現 1.可被爬蟲爬到
2.跨平臺能力更強,依託於瀏覽器的支持 2.減小請求次數
3.使後臺數據接口可以獲得複用 3.不用考慮瀏覽器的兼容性
html的缺點:
jsp的缺點:
1.開發難度大,考慮瀏覽器的兼容性 1.增大了服務器的壓力
2.頁面請求過多 2.前端與後端未脫離,拖慢開發進度
3.屬於後加載,沒法被爬蟲爬到 3.過於依賴java運行環境
4.接口代碼須要新增不少 4.複用較低。
5.沒法直接顯示java實體類對象,須要轉換爲json格式
1、靜態web頁面,通常指html:
一、在靜態Web程序中,客戶端使用Web瀏覽器(IE、FireFox等)通過網絡(Network)鏈接到服務器上,使用HTTP協議發起一個請求(Request),告訴服務器我如今須要獲得哪一個頁面,全部的請求交給Web服務器,以後WEB服務器根據用戶的須要,從文件系統(存放了全部靜態頁面的磁盤)取出內容。以後經過Web服務器返回給客戶端,客戶端接收到內容以後通過瀏覽器渲染解析,獲得顯示的效果。
二、爲了讓靜態web頁面顯示更加好看,使用javascript/VBScript/ajax(AJAX即「Asynchronous Javascript And XML」(異步JavaScript和XML),是指一種建立交互式網頁應用的網頁開發技術。)可是這些特效都是在客戶端上藉助於瀏覽器展示給用戶的,因此在服務器上自己並無任何的變化。
三、靜態web沒法鏈接數據庫;
四、靜態web資源開發技術:HTML;
五、因爲如今的web頁面中,大量使用JS,致使瀏覽器打開頁面,就會佔用大量的內存,服務端的壓力是減輕了,但壓力轉移到了客戶端。
2、動態web頁面,通常指jsp:
動態WEB中,程序依然使用客戶端和服務端,客戶端依然使用瀏覽器(IE、FireFox等),經過網絡(Network)鏈接到服務器上,使用HTTP協議發起請求(Request),如今的全部請求都先通過一個WEB Server來處理。
若是客戶端請求的是靜態資源(*.htm或者是*.htm),則將請求直接轉交給WEB服務器,以後WEB服務器從文件系統中取出內容,發送回客戶端瀏覽器進行解析執行。
若是客戶端請求的是動態資源(*.jsp、*.asp/*.aspx、*.php),則先將請求轉交給WEB Container(WEB容器),在WEB Container中鏈接數據庫,從數據庫中取出數據等一系列操做後動態拼湊頁面的展現內容,拼湊頁面的展現內容後,把全部的展現內容交給WEB服務器,以後經過WEB服務器將內容發送回客戶端瀏覽器進行解析執行。
再進一步深刻分析動態web的訪問過程:瀏覽器訪問web時,看似是直接訪問的jsp頁面,實際上是,最早到達的地方是服務器,服務器建立好req和resp對象後再給jsp頁面使用。在jsp中完成設置字符集和取得表單參數後再調用servlet,完成業務處理。而後返回到jsp,jsp就會生成相應的html頁面。該頁面會返回到服務器,再由服務器,經過response對象返回給客戶端。
爲何須要web服務器?(web server)
1)無論什麼web資源,想被遠程計算機訪問,都必須有一個與之對應的網絡通訊程序,當用戶來訪問時,這個網絡通訊程序讀取web資源數據,並把數據發送給來訪者。
2)WEB服務器就是這樣一個程序,它用於完成底層網絡通迅,處理http協議。使用這些服務器,We應用的開發者只須要關注web資源怎麼編寫,而不須要關心資源如何發送到客戶端手中,從而極大的減輕了開發者的開發工做量。
經常使用動態web資源開發技術:JSP/Servlet、ASP、PHP等。
3、關於二者區別的簡單直接的描述
一、靜態頁面就是設計者把頁面上全部東西都設定好、作死了,而後放上去,不論是誰在任什麼時候候看到的頁面內容都是同樣的,一成不變(除非手動修改頁面內容)。靜態html頁面文件,能夠直接用本地的瀏覽器打開。好比:file:///Users/Phil/Documents/DevOps/HBuilderProjects/testJSP/index.html。
二、動態頁面的內容通常都是依靠服務器端的程序來生成的,不一樣人、不一樣時候訪問頁面,顯示的內容均可能不一樣。網頁設計者在寫好服務器端的頁面程序後,不須要手工控制,頁面內容會按照頁面程序的安排自動更改變換。
三、html是w3c規範的一種網頁書寫格式,是一種統一協議語言,靜態網頁。咱們上網看的網頁都是大部分都是基於html語言的。jsp是一種基於動態語言,jsp能夠實現html的全部任務。
四、HTML(Hypertext Markup Language)文本標記語言,它是靜態頁面,和JavaScript同樣解釋性語言,爲何說是解釋性語言呢?由於,只要你有一個瀏覽器那麼它就能夠正常顯示出來,而不須要指定的編譯工具,只需在TXT文檔中寫上HTML標記就能夠正常顯示。
JSP(Java Server Page)是Java服務端的頁面,因此它是動態的,它是須要通過JDK編譯後把內容發給客戶端去顯示,咱們都知道,Java文件編譯後會產生一個class文件,最終執行的就是這個class文件。
五、JSP的前身是servlet。
六、html和jsp的表頭不同,這個是JSP的頭「 <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>」在表頭中有編碼格式和倒入包等。也是很好區分的,在jsp中用<%%>就能夠寫Java代碼了,而html沒有<%%>。
七、,不認識jsp或者asp什麼什麼的,可是有時候界面須要邏輯控制,因此咱們就用相應的技術來實現,這樣比較方便。而jsp在後臺經過服務器解析爲相應的html,而後在供瀏覽器識別顯示。例如
<% if(flag == a){<label>a<label>}else {<label>b<label>}%>
服務器在讀取到這段代碼後,根據相應的業務邏輯,編譯成相應的servlet,再由servlet輸出到頁面(輸出的就是html)。
各自的優缺點:
一.ajax的優勢:
1.開發過程當中前端與後端脫離,交互經過JSON傳輸來實現
2.跨平臺能力更強,依託於瀏覽器的支持
3.使後臺數據接口可以獲得複用
二.ajax的缺點:
1.開發難度大,考慮瀏覽器的兼容性
2.頁面請求過多
3.屬於後加載,沒法被爬蟲爬到
4.接口代碼須要新增不少
5.沒法直接顯示java實體類對象,須要轉換爲json格式
三.jsp的優勢:
1.可被爬蟲爬到
2.減小請求次數
3.不用考慮瀏覽器的兼容性
四.jsp的缺點:
1.增大了服務器的壓力
2.前端與後端未脫離,拖慢開發進度
3.過於依賴java運行環境
4.複用較低。