Servlet 基礎知識

2021-10-03 19:51:49 字數 2356 閱讀 5045

4.2 *** listener

前置知識:http 相關知識

執行在 web 伺服器或應用伺服器的程式,用作連線 web 瀏覽器/其他客戶端的 http 請求和資料庫的中間處理層。

-init(servletconfig config):初始化

-service(servletrequest req, servletresponse res):主要處理入口

-destroy():銷毀

呼叫流程:

瀏覽器發起 http 請求 -> servlet1.init -> servlet1.service -> servlet1.destroy -> servlet2.init -> servlet2.service -> servlet2.destroy -> 返回

過濾器是 servlet 的一種擴充套件,可在處理滿足攔截條件的 servlet 前後進行統一處理。如網路中有時需將資料加密後傳輸,可使用 filter 統一對資料解密,後續 servlet 獲取的資料都是明文資料。

public class decodefilter implements filter 

public void dofilter(servletrequest request, servletresponse response, filterchain chain) throws ioexception, servletexception

public void destroy()

}

結合 servlet,其呼叫流程大概為:

瀏覽器發起 http 請求 -> filter1.init -> filter1.dofilter -> filter2.init -> filter2.dofilter -> servlet1 -> servlet2 -> filter2.destroy -> filter1.destroy -> 返回給瀏覽器

在 web.xml 中配置 filter。

decode-filter

com.cui.decodefilter

/* request

forward

用於監聽 servletcontext、httpsession、servletrequest等的建立、銷毀、屬性修改等事件。

web.xml 配置:

com.cui.sessionchangelisener

xxlistener 是域物件建立和銷毀的***,xxattributelistener 是域物件屬性變更的***

// 通過 token 獲取 userid

long userid = getuseridbytoken(request.getparameter("token"));

// userid 設定到 request 中

requet.setparameter("userid", userid);

}}

Servlet基礎知識

servlet必須繼承httpservlet類,每個servlet可以響應客戶端的請求 大部分時候,servlet對於所有請求的響應都一樣,此時,可以採用重寫service 方法響應客戶端所有請求。另外httpservlet還包含兩個方法 從servlet3.0開始,配置servlet有兩種方式 1...

servlet基礎知識

step1 使用字尾匹配模式。step2 在service 方法裡加入如下 獲得請求資源路徑 string uri request.getrequesturi 所謂生命週期,指的是servlet容器如何建立servlet例項 分配其資源 呼叫其方法 並銷毀其實例的整個過程。階段一 例項化 就是建立s...

基礎知識(二) Servlet

servlet生命週期 servlet載入 例項化 服務 銷毀 1.init 生命中僅執行一次,在伺服器裝入servlet時執行,負責初始化servlet物件,可配置伺服器,以在 啟動伺服器或客戶首次訪問servlet時裝入servlet。2.service servlet核心,負責響應客戶的請求。...