JavaWeb(一)

HTTP特色:
一、遵循請求/響應模型:支持客戶端/服務器模式(一次響應,一次請求)
二、無鏈接:無鏈接的含義是限制每次鏈接只處理一個請求。服務器處理完客戶端的請求,並受到客戶的應答後,即斷開鏈接。
三、無狀態。http協議是無狀態協議。Http在處理事務上是沒有任何記憶能力,若是後續處理須要前面的信息,則前面的信息必須進行重傳才能進行使用,簡單的講就是,本次的操做,與上次沒有任何關係。java

 

由最上層至最下web

1.應用層 瀏覽器

2.表示層緩存

3.會話層服務器

4.傳輸層網絡

5.網絡層post

6.數據鏈路層url

7.物理層spa

Servlet的生命週期:生命週期包括加載(建立)程序,服務,終止(銷燬),卸載,五個部分。繼承

容器查早原則:
1.首先會查找徹底匹配,若是找不到則查找目錄匹配,若是還找不到在找拓展名匹配
2.若是一個請求能夠匹配多個目錄,容器會選擇最長的目錄匹配。

什麼是Servlet
Servlet是運行Web容器,按照其自身規範寫的java程序
Servlet運行的是.class文件。web服務器使用該class文件去處理瀏覽器請求,並將處理的結果返回給客戶端
Servlet必須調用Java-servlet Api,必須是對特定類或接口的繼承和實現。而且,它唏噓重寫特定的方法去處理客戶端請求。

應用上下文(ServletContext)
特色:web容器惟一性。
 所有變量。
 用於存取數據(設置屬性,setAttribute()&getAttribute())
 信息共享。
 轉地址。(  ServletContext context = getServletContext();
         RequestDispatcher rd =          context.getRequestDispatcher("/servlet/ServletDemo5");//得           到請求轉發器
         rd.forward(request, response); //執行轉發)


HTTP協議請求的組成部分:請求行、請求頭、消息報頭、請求正文
HTTP響應由三部分組成:狀態行、響應頭、響應正文
狀態行:HTTP版本   響應碼   響應描述


瀏覽器向web服務器發送http請求的方法:(默認狀況都是get方法)
 用戶在網頁上點擊一個連接(永遠都是get方法)
 用戶提交在網頁上填寫好的表單
 用戶在瀏覽器地址欄輸入URL地址並回車
請求頭: getHeader(name) 返回指定的請頭的值
                getHeaders(name) 返回一個Enumeration包含請求頭中的全部值
  getHeadersName() 特定請求中接受到的全部請求頭的名稱。

 setHeader("Refresh","time;URL=url");refresh頭不是http1.0或http1.1協議標準的組成部分,
 是瀏覽器廠商的擴展功能,使用需考慮瀏覽器兼容性問題。


GET和post的區別:
 提交的數據類型,
 提交的數據長度,
 提交數據可見性,
 提交的數據緩存。

請求轉發與重定向的區別。

1.重定向是客戶端瀏覽器完成,而請求轉發是服務器完成。
2.採用重定向瀏覽器URL地址要改變,而請求轉發則不會。
3.重定向是兩次請求/響應,而請求轉發則只是一次請求/響應。

重定向主要用於不一樣服務器。請求轉發主要是針對Servlet。

相關文章
相關標籤/搜索