亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

<action name="auth" >的執行流程是怎樣的?

<action name="auth" >

<result>/WEB-INF/page/manager.jsp</result>

<result name="login">/login.jsp</result>

<!-- 引用自定義攔截器棧 -->

<interceptor-ref name="myStack"></interceptor-ref>

</action>

有沒有哪位大神解釋一下,上面這段代碼的執行流程。。。

正在回答

2 回答

我自己是這樣理解的,因為auth沒有指定對應的action,所以系統會自動生成一個默認的action,該action默認返回SUCCESS。在視頻中,老師第一次通過auth可以直接訪問/WEB-INF/page/manager.jsp,就是因為那個默認的action返回了一個SUCCESS,而且,那時候并沒有加入我們自定義的攔截器,所以可以直接訪問WEB-INF下的文件。后來,我們自定義了的攔截器和攔截器棧,在自定義攔截器中添加了相關的處理代碼,并在auth的action中引用了myStack,這時候auth執行的流程發生了變化。當用戶直接在URL中輸入auth后,這時候它會經過多個攔截器,自然也會被我們自定義的攔截器攔截到,接著執行攔截器中的處理代碼,判斷用戶是否成功登陸過,如果沒有成功登陸過,則返回登陸頁面;如果已成功登陸過,則通過invoke()方法調用默認的action,因為默認的action默認返回SUCCESS,然后跳轉到/WEB-INF/page/manager.jsp頁面。整個執行的流程應該就是這樣子的。。。

2 回復 有任何疑惑可以回復我~

首先, 你得關注還有一個name="login"的action 它能夠獲取到session, 然后在auth中它會先執行攔截器myStack,獲取到session 判斷是否存在 ,存在的話就就調用invoke方法 將“success”字符串返回給result 否則就返回一個“login字符串 ”(因為此action為默認action 在調用invoke時不會執行action)?然后再調用一次攔截器 ,最后返回字符串給result 我的理解 流程就這樣。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

<action name="auth" >的執行流程是怎樣的?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號