2015-09-02 101 views
-1

我正在研究Web服務,並在閱讀有關HTTP請求和響應和標題的同時,遇到了ServletRequest類中的方法setAttribute(String s, Object o)在Web應用程序中設置請求屬性的好處

我面臨的問題是試圖瞭解爲什麼有人在servlet接收到請求後爲其設置屬性。在前端設置屬性和參數是合乎邏輯的,因爲它有助於將信息從前端發送到中間層,但通過在中間層本身設置屬性我們可以獲得什麼。

回答

0

請求可能無法完成一個週期。該特定請求可能被轉發到另一個請求來完成服務。在轉發請求時,如果您想添加額外的輸入,那就是這樣。

總之,在請求之間交換信息。

1

請求屬性對於JSP模板上下文訪問,所以你可以裝飾你想模板中的錯誤信息或任何一個請求,例如:

${requestScope.Error_Message} 

如果使用普通的JSP,而不是到像spring mvc這樣的東西,用屬性裝飾請求可能只是在jsp中獲取模板數據的最簡單方法。

您可能還有一系列的servlet過濾器,它們以各種方式裝飾請求,然後再到達向客戶端發送響應的最終處理程序。

而且,請求有時被轉發到其他servlet進行處理。在這種情況下,使用屬性裝飾請求提供了一種在您的端點之間進行通信的方式。

然而,無論何時何地您需要在單個請求的使用期限內保存某些狀態,它都是一種有用的模式。

相關問題