Structs2 命名空間

2021-07-11 23:22:42 字數 1054 閱讀 1470

在學習structs2的過程中,遇到了namsapce,雖然比較好理解,但是在使用的過程中還是遇到些問題,便將其記錄下來。

作用:

為了解決包含同乙個action的問題,在相同的命名空間裡不能存在相同的action,但是不同的命名空間裡,可以存在相同的action。

**須知:**structs2不支援單獨為action設定命名空間,而是在包package中指定命名空間,如果不指定的話,預設在預設的命名空間下。預設的命名空間為」「,可以接收屬於路徑下的action。

示例1:

如果請求為/login.action 那麼系統會首先查詢命名空間為test的action,如果在這個命名空間找到相對應的action,則使用該類處理請求。否則系統將在預設命名空間裡查詢,找到則使用該類處理,否則系統錯誤。

這種方式namespace使用」/」 和預設的都行。

示例2:

jsp:

structs2:

name="actions"

namespace="/test"

extends="struts-default">

name="login"

class="org.action.useraction">

name="success">/success.jspresult>

name="error">/error.jspresult>

action>

package>

示例2 由於你訪問的是/test/login.action 所以你在進行action對映的時候需要指定命名空間為/test,–就像訪問包下的類一樣。

當然示例二 也可以使用預設的namespace ,或者使用根」/」。

structs2 工作原理

乙個請求在struts2框架中的處理大概分為以下幾個步驟 1 客戶端初始化乙個指向servlet容器 例如tomcat 的請求 2 這個請求經過一系列的過濾器 filter 這些過濾器中有乙個叫做actioncontextcleanup的可選過濾器,這個過濾器對於struts2和其他框架的整合很有幫...

structs2 的工作原理

actionproxy和actioninvocation actionproxy是在xwork和真正的action之間充當 角色,在通過框架執行action的過程中,因為使用的是 而不是直接操縱物件,所以在 中封裝 result等二外的 actionproxy持有actioninvocation物件...

Structs2工作流程

1 客戶端 client 向action髮用乙個請求 request 2 container通過web.xml對映請求,並獲得控制器 controller 的名字 3 容器 container 呼叫控制器 strutsprepareandexecutefilter或filterdispatcher ...