1. 程式人生 > >Servlet學習心得總結

Servlet學習心得總結

1)概念:Java Servlet 是執行在 Web 伺服器或應用伺服器上的程式,它是作為來自 Web 瀏覽器或其他 HTTP 客戶端的請求和 HTTP 伺服器上的資料庫或應用程式之間的中間層

2) Servlet 遵循的過程:

  • Servlet 通過呼叫 init () 方法進行初始化。init 方法被設計成只調用一次。
  • Servlet 呼叫 service() 方法來處理客戶端的請求。需要根據來自客戶端的請求型別來重寫 doGet() 或 doPost()
  • Servlet 通過呼叫 destroy() 方法終止(結束)。destroy() 方法只會被呼叫一次,在 Servlet 生命週期結束時被呼叫
  • 最後,Servlet 是由 JVM 的垃圾回收器進行垃圾回收的.
3)post和get區別 GET 方法向頁面請求傳送已編碼的使用者資訊。頁面和已編碼的資訊中間用 ? 字元分隔
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():
    如果您想要得到當前請求中的所有引數的完整列表,則呼叫該方法。
5)Servlet 過濾器是可用於 Servlet 程式設計的 Java 類,可以實現以下目的:
  • 在客戶端的請求訪問後端資源之前,攔截這些請求。
  • 在伺服器的響應傳送回客戶端之前,處理這些響應。

根據規範建議的各種型別的過濾器:

  • 身份驗證過濾器(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 內容。