文章目錄
- 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失效