我正在研究Web服務,並在閱讀有關HTTP請求和響應和標題的同時,遇到了ServletRequest類中的方法setAttribute(String s, Object o)
。在Web應用程序中設置請求屬性的好處
我面臨的問題是試圖瞭解爲什麼有人在servlet接收到請求後爲其設置屬性。在前端設置屬性和參數是合乎邏輯的,因爲它有助於將信息從前端發送到中間層,但通過在中間層本身設置屬性我們可以獲得什麼。
我正在研究Web服務,並在閱讀有關HTTP請求和響應和標題的同時,遇到了ServletRequest類中的方法setAttribute(String s, Object o)
。在Web應用程序中設置請求屬性的好處
我面臨的問題是試圖瞭解爲什麼有人在servlet接收到請求後爲其設置屬性。在前端設置屬性和參數是合乎邏輯的,因爲它有助於將信息從前端發送到中間層,但通過在中間層本身設置屬性我們可以獲得什麼。
請求可能無法完成一個週期。該特定請求可能被轉發到另一個請求來完成服務。在轉發請求時,如果您想添加額外的輸入,那就是這樣。
總之,在請求之間交換信息。
請求屬性對於JSP模板上下文訪問,所以你可以裝飾你想模板中的錯誤信息或任何一個請求,例如:
${requestScope.Error_Message}
如果使用普通的JSP,而不是到像spring mvc這樣的東西,用屬性裝飾請求可能只是在jsp中獲取模板數據的最簡單方法。
您可能還有一系列的servlet過濾器,它們以各種方式裝飾請求,然後再到達向客戶端發送響應的最終處理程序。
而且,請求有時被轉發到其他servlet進行處理。在這種情況下,使用屬性裝飾請求提供了一種在您的端點之間進行通信的方式。
然而,無論何時何地您需要在單個請求的使用期限內保存某些狀態,它都是一種有用的模式。