跳至內容

WebObjects/Web 應用程式/開發/元件操作

來自華夏公益教科書

元件操作請求模型是 WebObjects 中處理使用者請求的預設方法。它基於互動式頁面物件(元件)的概念。

頁面建立一些 HTML 併為使用者繪製螢幕。元件物件作為使用者會話的一部分儲存,其中包含其所有狀態。當用戶在頁面上單擊連結或提交表單時,URL 的構造方式使得伺服器可以確定最初用於建立頁面的元件物件,並重新使用此物件來處理請求。

因此,您可以很好地忘記您正在使用網頁,並且使用者在每次請求中提供的唯一資訊是 URL、表單提交、cookie 等。您可以建立處理許多請求的互動式頁面,只需根據每個請求更改其內部狀態,就像您正在編寫要在本地使用的非 Web 應用程式一樣。

我不熟悉 JSP,但我被熟悉它的人告知,這使得 WebObjects 中的高度動態資料庫編輯頁面(例如同時編輯多個連結的表)比 JSP 更容易。我可以確認這在 WebObjects 中確實很簡單,但我自己並不知道為什麼在 JSP 模型中更難。

請注意,元件操作請求模型有一些缺點。每個要處理的 URL 都必須在記憶體中找到匹配的元件物件。因此,一旦會話超時,URL 變得幾乎不可理解,並且難以正確處理這種情況。一種選擇是在 URL 上新增額外的值作為查詢字串 - 這不會破壞標準請求處理,但可以用來提供正確的資訊以在會話消失時恢復。此外,會話不能記住無限的元件物件,除非您想將記憶體投入到這個問題中,因此預設情況下只儲存 30 個。這意味著使用者可能會回溯太遠並造成問題,尤其是當您使用多個框架或視窗時。

對於不需要高度互動式頁面的情況,您可能更喜歡 直接操作,它沒有這些缺點,但提供的幫助較少。

華夏公益教科書