Servlet學習心得總結
阿新 • • 發佈:2019-01-26
1)概念:Java Servlet 是執行在 Web 伺服器或應用伺服器上的程式,它是作為來自 Web 瀏覽器或其他 HTTP 客戶端的請求和 HTTP 伺服器上的資料庫或應用程式之間的中間層
2) Servlet 遵循的過程:
- Servlet 通過呼叫 init () 方法進行初始化。init 方法被設計成只調用一次。
- Servlet 呼叫 service() 方法來處理客戶端的請求。需要根據來自客戶端的請求型別來重寫 doGet() 或 doPost()
-
Servlet 通過呼叫 destroy() 方法終止(結束)。destroy()
方法只會被呼叫一次,在 Servlet 生命週期結束時被呼叫
- 最後,Servlet 是由 JVM 的垃圾回收器進行垃圾回收的.
GET 方法是預設的從瀏覽器向 Web 伺服器傳遞資訊的方法,它會產生一個很長的字串,出現在瀏覽器的位址列中。如果您要向伺服器傳遞的是密碼或其他的敏感資訊,請不要使用 GET 方法。GET 方法有大小限制:請求字串中最多隻能有 1024 個字元。
另一個向後臺程式傳遞資訊的比較可靠的方法是 POST 方法。POST 方法打包資訊的方式與 GET 方法基本相同,但是 POST 方法不是把資訊作為 URL 中 ? 字元後的文字字串進行傳送,而是把這些資訊作為一個單獨的訊息。訊息以標準輸出的形式傳到後臺程式,您可以解析和使用這些標準輸出。Servlet 使用 doPost() 方法處理這種型別的請求。
GET 請求來自於一個 URL 的正常請求,或者來自於一個未指定 METHOD 的 HTML 表單,它由 doGet() 方法處理。 POST 請求來自於一個特別指定了 METHOD 為 POST 的 HTML 表單,它由 doPost() 方法處理。
4)Servlet 處理表單資料,這些資料會根據不同的情況使用不同的方法自動解析:
- getParameter():您可以呼叫 request.getParameter() 方法來獲取表單引數的值。
- getParameterValues():如果引數出現一次以上,則呼叫該方法,並返回多個值,例如複選框。
-
getParameterNames():
- 在客戶端的請求訪問後端資源之前,攔截這些請求。
- 在伺服器的響應傳送回客戶端之前,處理這些響應。
根據規範建議的各種型別的過濾器:
- 身份驗證過濾器(Authentication Filters)。
- 資料壓縮過濾器(Data compression Filters)。
- 加密過濾器(Encryption Filters)。
- 觸發資源訪問事件過濾器。
- 影象轉換過濾器(Image Conversion Filters)。
- 日誌記錄和稽核過濾器(Logging and Auditing Filters)。
- MIME-TYPE 鏈過濾器(MIME-TYPE Chain Filters)。
- 標記化過濾器(Tokenizing Filters)。
- XSL/T 過濾器(XSL/T Filters),轉換 XML 內容。