學習總結 servlet相關知識與使用

2021-10-08 05:57:00 字數 2510 閱讀 8856

servlet 是乙個與平台無關的伺服器端外掛程式,它執行於 servlet 容器中。servlet 容器負責 servlet 與客戶的通訊及呼叫 servlet 方法,servlet 和客戶之間的通訊採用「請求——響應」模式,即一問一答模式。常使用 tomcat 作為 servlet 的伺服器端,tomcat 是一種具有 jsp 環境的 servlet 容器;servlet 容器能代替使用者管理和呼叫 servlet。

有兩種方式建立乙個 servlet:

實現 servlet 介面,主要實現介面中的 service() 方法;繼承 httpservlet 類,實現父類中的 doget() 和 dopost() 方法。有兩種方式配置 servlet 對映:

給 servlet 類新增註解 webservlet(「對映名稱」),簡單一步到位。

客戶端傳送請求

web容器解析請求

建立 servlet 例項。建立例項又分兩種情況,第一種是在第一次請求到來時建立例項;第二種是在web.xml 中配置了 < load-on-startup >,會在容器啟動時建立例項。

呼叫 init() 初始化,只執行一次。

呼叫 service 方法,根據請求不同(get/post)來決定呼叫 doget() 或 dopost() 方法來處理業務。

輸出響應的資訊

返回響應

呼叫 destroy() 方法,主要用於關閉資源或銷毀物件。

setcharacterencoding(「編碼格式」):設定請求通道編碼格式。

getparameter(string key):返回表單中屬性的值。

getparametervalues(string key):返回字串陣列,當 key 有多個值時。

getparametermap():返回表單中所有屬性的值,儲存在 map集合中。

getrequestdispatcher(string url).forward(request, response):設定請求**的位址,並使用 forward **。

setcharacterencoding(「編碼格式」):設定響應通道的編碼格式。

setcontentype(string mime):設定響應正文的 mime 型別,一般為「text/html;charset=utf-8」。

sendredirect(string url):設定響應重定向。

request.getsession([boolean]):獲得session。

setattribute(string key, object value):新增鍵值對到 session,可以新增任意型別的資料。

getattribute(string key):從 session 中獲取指定 key 的 value。

removeattribute(string key):刪除某屬性。

setmaxinactiveinterval(int s):設定 session 的存活時間,單位是秒,當超過指定時間還沒有請求該 session,session就會死亡,若在指定時間不斷請求該 session,session 的時間會不斷重新整理。注意,若時間設定為 0 則表示無限存活。

new cookie(string key, string value):乙個 cookie 對應乙個鍵值對,且只能存放字串,不能是物件。

response.addcookie(cookie物件):將建立好的 cookie 新增到相應通道,返回到客戶端的瀏覽器中儲存。

request.getcookie():讀取客戶端的 cookie,返回 cookie 陣列,陣列中包含所有 cookie 資訊。

setmaxage(int s):設定 cookie 的存活時間,累積時間一到則清除 cookie,注意,若設定為 0 則表示立馬清除 cookie。

建立 filter 過濾器,需要實現 filter 介面,重寫介面的 dofilter() 方法。

配置對映。同樣是兩種方式,第一種是到 web.xml 中配置,第二種是在filter 類中使用註解 webfilter(url),配置完後會對符合該 url 設定的請求進行過濾。

Servlet相關基礎知識總結

什麼是servlet?簡介 工作流程 servlet容器工作流程 servlet工作流程 servlet容器 tomcat 整體的工作流程 servlet的核心api以及體系結構?genericservlet抽象類 httpservlet抽象類 servletrequest介面 httpservle...

servlet的相關知識3

servlet的重定向原理 客戶傳送乙個請求到伺服器,伺服器匹配servlet,servlet處理完之後呼叫了sendredirect 方法,這個方法是response的方法,所以當servlet處理完之後,看到response.sendredirect 方法,立即向客戶端返回這個響應,響應行告訴客...

servlet知識總結筆記

servlet生命週期 1.建立servlet例項 2.當servlet例項化後,將呼叫這個物件的init 方法進行初始化 3.再呼叫物件的service 方法來處理請求,並返回處理結果,在呼叫service之前,需保證init初始化已被成功執行 4.當需要釋放servlet的時候,呼叫物件的des...