JAVAWEB知識總結

JAVA WEB知識總結

Servlet

Java Servlet實質上是一種小型的、與平臺無關的Java類,其生命週期由服務器的Servlet容器管理。當服務器接收到客戶端請求時,服務器調用並執行相應的Servlet動態生成響應內容,然後再由服務器返回給客戶端。

JSP

JSP技術是將Java代碼嵌入到HTML代碼中形成JSP文件。JSP技術依然是基於Servlet技術的,雖然JSP在編寫時與Servlet不一樣,但在執行時,JSP首先要由Servlet容器將JSP轉換成Servlet並編譯,然後才能執行。

Servlet和JSP的區別

  • 編程方式不同
  • 編譯時機不同

Servlet生命週期

同一個Servlet對象會同時爲多個客戶端服務,即多個客戶端共享一個Servlet對象,所以Servlet是線程不安全的。

  • 初始化階段:調用init()方法。
  • 響應客戶請求階段:調用Service()方法。
  • 終止階段:調用destroy()方法。

Cookie和Session

  • Session在服務器端,cookie在客戶端(瀏覽器)
  • Session的運行依賴於Session id,Session id存儲在Cookie中。

會話跟蹤

  • cookie
  • url重寫
  • 隱藏表單域

HTTP1.0 HTTP 1.1主要區別

  • 長連接
  • 節約帶寬
  • HOST域

HTTP1.1 HTTP 2.0主要區別

  • 多路複用
  • 二進制分幀
  • 數據壓縮
  • 服務器推送

Get和Post的區別

  • get把請求的數據放在url上,即HTTP協議頭上;post把數據放在HTTP的包體內(requrest body)。
  • get提交的數據最大是2k;post理論上沒有限制。實際上IIS4中最大量爲80KB,IIS5中爲100KB。
  • GET產生一個TCP數據包,POST產生兩個TCP數據包
  • GET在瀏覽器回退時是無害的,POST會再次提交請求。
  • GET產生的URL地址可以被Bookmark,而POST不可以。
  • GET請求會被瀏覽器主動cache,而POST不會,除非手動設置。
  • GET請求只能進行url編碼,而POST支持多種編碼方式。
  • GET請求參數會被完整保留在瀏覽器歷史記錄裏,而POST中的參數不會被保留。
  • GET只接受ASCII字符的參數的數據類型,而POST沒有限制
  • POST安全性更高
  • GET效率更高
  • POST不是冪等

REST請求

POST、DELETE、GET、PUT對應增刪查改四種操作

Request和Response

過濾器和監聽器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章