天天看點

JavaWeb基礎必知必會servlet的生命周期轉發forward和重定向redirect的差別Jsp九大内置對象Get和Post的差別Jsp的四個域對象MVC設計思想Session和Cookie的差別

文章目錄

  • servlet的生命周期
  • 轉發forward和重定向redirect的差別
  • Jsp九大内置對象
  • Get和Post的差別
  • Jsp的四個域對象
  • MVC設計思想
  • Session和Cookie的差別

servlet的生命周期

  • Web容器加載Servlet類并執行個體化(預設延遲加載)(1次)
  • 運作init方法進行初始化(1次)
  • 使用者請求該Servlet,請求到達伺服器後運作其service方法(每次)
  • service方法運作請求對應的do**方法(每次)
  • 調用destory方法銷毀執行個體(1次)

轉發forward和重定向redirect的差別

  • 轉發是容器控制的跳珠,伺服器直接通路目的位址,把目的位址的内容讀取出來發送給浏覽器,浏覽器不知道請求内容來自哪裡,浏覽器位址欄不變
  • 重定向是伺服器接收到請求後,傳回一個狀态碼給浏覽器,浏覽器請求新位址,位址欄改變
  • 轉發效率更高,盡量用轉發,但是轉發不能跳轉到其他伺服器,重定向可以跳轉到其他伺服器

Jsp九大内置對象

  • request : 向用戶端請求資料
  • respones : 封裝了jsp産生的響應,然後發送到用戶端以響應客戶的請求
  • pageContext : 為Jsp頁面包裝頁面的上下文,管理對屬于jsp中的特殊可見部分的已經命名對象的通路
  • session :用來儲存每個使用者的資訊,以便跟蹤每個使用者的操作狀态
  • application : 應用程式對象
  • out : 向用戶端輸出對象
  • config : servlet的配置對象
  • page :jsp實作類的執行個體
  • exception : 反映運作的異常

Get和Post的差別

  • Get将表單中的資料按照param-value方式拼接到url後面以?連接配接,參數間以&連接配接
  • Post将表單中的資料放在form資料體中進行傳輸
  • Get在傳輸中資料對使用者可見,Post對使用者不可見
  • Get能傳輸的資料量小,因為受URL長度限制
  • Get限制From表單的資料必須是ASCII字元,而Post支援整個字元集

Jsp的四個域對象

  • pageContext : 代表與一個頁面有關的對象和屬性(同一頁面内)
  • request : 代表與web客戶機發出的一個請求相關的對象和屬性,一個請求可以跨域多個頁面(同一請求内)
  • session : 代表與客戶機的一個使用者體驗相關的對象和屬性。一個web會話通常會有多次請求(同一會話内)
  • application : 代表與整個web應用程式相關的對象和屬性,跨域整個web應用, 如果不手動删除,就會一直存在(同一應用内)

MVC設計思想

  • MVC是基于Java的Web應用系統架構模式,即Model、View、Controller分離設計
    • Model:業務處理邏輯的子產品,每一種處理一個子產品(了解為service、dao)
    • View:負責頁面顯示,顯示Model處理結果傳回給使用者,實作資料到頁面轉換的過程(了解為jsp)
    • Controller:負責每個請求的分發,把From資料傳遞給Model處理,把處理結果的資料傳遞給View(了解為controller,servlet)

Session和Cookie的差別

  • session儲存在伺服器,cookie儲存在用戶端浏覽器
  • session中儲存的是對象,cookie中儲存的是字元串
  • session不能區分路徑,同一個使用者在通路一個網站期間,所有的session在任何地方都可以通路到;cookie不能區分路徑,cookie中如果設定了路徑參數,那麼不同路徑下的cookie互相通路不到
  • session需要cookie才能正常起作用。如果用戶端禁止cookie,則session失效