簡單瞭解什麼是Servlet
** servlet是Java Servlet的簡稱,稱為小服務程式或服務聯結器,用Java編寫的伺服器端程式,主要功能在於互動式地瀏覽和修改資料,生成動態Web內容。
Servlet可以響應任何型別的請求,但絕大多數情況下Servlet只用來擴充套件基於HTTP協議的Web伺服器。
**
實現過程
1.客戶端傳送請求至伺服器端;
2.伺服器將請求資訊傳送至 Servlet;
3.Servlet 生成響應內容並將其傳給伺服器。響應內容動態生成,通常取決於客戶端的請求;
4.伺服器將響應返回給客戶端。
*具體的一個servlet週期過程大概是:
1.客戶端請求該 Servlet;
2.載入 Servlet 類到記憶體;
3.例項化並呼叫init()方法初始化該 Servlet;
4.service()(根據請求方法不同呼叫doGet() 或者 doPost(),此外還有doHead()、doPut()、doTrace()、doDelete()、doOptions()、destroy())。
5.載入和例項化 Servlet。這項操作一般是動態執行的。然而,Server 通常會提供一個管理的選項,用於在 Server 啟動時強制裝載和初始化特定的 Servlet。
6.Server 建立一個 Servlet的例項
7.第一個客戶端的請求到達 Server
8.Server 呼叫 Servlet 的 init() 方法(可配置為 Server 建立 Servlet 例項時呼叫,在 web.xml 中 標籤下配置 標籤,配置的值為整型,值越小 Servlet 的啟動優先順序越高)
9.一個客戶端的請求到達 Server
10.Server 建立一個請求物件,處理客戶端請求
11.Server 建立一個響應物件,響應客戶端請求
12.Server 啟用 Servlet 的 service() 方法,傳遞請求和響應物件作為引數service() 方法獲得關於請求物件的資訊,處理請求,訪問其他資源,獲得需要的資訊service() 方法使用響應物件的方法,將響應傳回Server,最終到達客戶端。service()方法可能啟用其它方法以處理請求,如 doGet() 或 doPost() 或程式設計師自己開發的新的方法。
13.對於更多的客戶端請求,Server 建立新的請求和響應物件,仍然啟用此 Servlet 的 service() 方法,將這兩個物件作為引數傳遞給它。如此重複以上的迴圈,但無需再次呼叫 init() 方法。一般 Servlet 只初始化一次(只有一個物件),當 Server 不再需要 Servlet 時(一般當 Server 關閉時),Server 呼叫 Servlet 的 destroy() 方法。
下圖顯示了一個典型的 Servlet :
Servlet 大概可以理解為一個 Java 程式。Servlet 匯入特定的屬於 Java Servlet API 的包。因為是物件位元組碼,可動態地從網路載入,可以說 Servlet 對 Server 就如同 Applet對 Client 一樣,但是,由於 Servlet 執行於 Server 中,它們並不需要一個圖形使用者介面。
相關文章
- 簡單瞭解SSL證書是什麼以及好處
- 什麼是區塊鏈,簡單瞭解區塊鏈區塊鏈
- 微服務是什麼?帶你簡單瞭解微服務微服務
- 【智慧製造】簡單明瞭讓你瞭解什麼是柔性製造
- 為什麼要有 Servlet ,什麼是 Servlet 容器,什麼是 Web 容器?ServletWeb
- Servlet是什麼?Servlet
- 簡單瞭解下JMM解決什麼問題
- 快速瞭解什麼是MVCMVC
- 瞭解什麼是微前端前端
- 瞭解什麼是遠端桌面
- 初步瞭解AQS是什麼(二)AQS
- WebSocket 簡單瞭解Web
- JWT簡單瞭解JWT
- 什麼是JAVAEE? 2分鐘瞭解Java
- 是什麼JSON,簡單介紹JSON
- 簡單瞭解組策略
- 防火牆-簡單瞭解防火牆
- Golang介面簡單瞭解Golang
- Python是什麼?你對Python瞭解嗎?Python
- 災備是什麼意思?怎麼簡單理解?
- 簡單瞭解 TiDB 架構TiDB架構
- 簡單瞭解python爬蟲Python爬蟲
- Node.js簡單瞭解Node.js
- 簡單瞭解負載均衡負載
- 快應用簡單瞭解
- 你瞭解什麼是技術債務嗎?
- 帶你瞭解什麼是數倉寬表
- 簡單認識什麼是UI設計UI
- 簡單瞭解一下GaussDB
- 簡單瞭解前端效能監控前端
- 簡單瞭解InnoDB底層原理
- Web自動化—簡單瞭解Web
- 一文帶你瞭解什麼是工控機?
- 帶你瞭解什麼是核心匯流排架構架構
- Linux是什麼作業系統?你瞭解多少?Linux作業系統
- DevOps是什麼?5分鐘帶你瞭解DevOpsdev
- 簡單講講小程式外掛是什麼
- 【簡單演算法】什麼是複雜度?演算法複雜度