文章目錄
JavaWeb
B/S架構:
瀏覽器: 一種客戶端軟件。
Http協議:定義了瀏覽器和服務器通訊的基本規則之一。
瀏覽器和服務器之間的交互:
-
交互模式:
請求——響應
-
客戶端發出請求,服務器根據請求內容發送響應內容。
客戶端發出請求的格式:
-
請求行 :服務器的地址、端口、資源地址。
-
請求頭。
-
請求實體。
注:客戶端向服務器傳參,如果將參數放在請求行中,即爲get方式,如果放在請求實體中,即爲post方式。
服務器收到響應的格式:
-
響應內容的定義:
a) 狀態行(200,404,500)
b) 響應頭
c) 響應實體
客戶端收到響應後如何顯示內容?
- html(超文本標記語言)誕生了,它可以解析客戶端收到的響應內容。
- 希望html元素可以動起來—JavaScript(腳本語言)誕生了。
- 希望可以更加精準、漂亮的控制頁面元素的顯示—css(層疊樣式表)誕生了。
服務器根據請求內容發送響應信息:
-
如何收到請求內容:
a) 建立監聽。ServerSocket s.accept();
b) 啓動一個線程(輕量級的進程)。爲請求的客戶提供服務。
c) 爲了封裝客戶端提供的請求信息。於是我們定義了一個對象:HttpServletRequest對象。
d) 爲了封裝回送給客戶端的響應內容,我們定義了一個對象:HttpServletResponse對象。
-
根據請求內容調用相應的程序(Servlet)
a) 我們通過Web.xml中定義的url和servlet的關係,找到相應的servlet程序。
b) 於是我們定義了 HttpServlet ,並且增加 :service(HttpServletRequest req , HttpServletResponse resp)方法。
c) 將response 對象中的信息,轉譯成基於http協議的相應內容。再將這些相應內容通過socket傳送給客戶端。
Tomcat服務器:
爲了統一上述流程,於是Tomcat被開發了出來,叫做Tomact 服務器, 我們也罷服務器叫做web容器,Servlet容器。
Servlet程序的使用:
- 瀏覽器發送服務器的請求內容: HttpServletRequest對象。
- 服務器發回瀏覽器的響應內容:HttpServletResponse對象。
- servler類讀取web.xml中自己的配置信息。 ServletConfig。
- 需要讀取web.xml中公共信息 ServletContext
- 將所有servlet放入一個容器中統一管理。 ServletContext
- 保存以前的操作狀態。 客戶端保存——Cookie 服務器保存——Session
Jsp:
servle 擅於做業務邏輯處理,但是不善於做頁面展示的代碼處理。於是,我們對servlet進行了改進處理,jsp誕生了,jsp 也是servlet 也是java類,你訪問一個jsp實際上是執行了相應的java類。 我們需要一個統一的轉譯程序,可以將jsp文件內容轉譯成java類代碼。於是產生了jsp引擎(一般服務器軟件自帶了這樣的功能)
ajax:
一種異步技術,有局部刷新的效果。
通過增加XMLHttpRequest對象,使用XHR對象發送請求, 獲取數據後,首先傳給XHR對象,再通過javascript代碼操作dom模型,實現局部刷新的效果。