然后看老師的5-2、5-3的登錄例子,如果是先執(zhí)行攔截器來(lái)驗(yàn)證登錄信息是否正確,那么攔截器得到的session里面的userName永遠(yuǎn)都是空的,因?yàn)閍ction還沒執(zhí)行,還沒保存用戶名到session,而你攔截器就用了session,所以永遠(yuǎn)登錄不了。
2017-03-25
在action當(dāng)中,應(yīng)用了自定義的攔截器myStack,并且放在了action里面的最后一行,意味著,是先執(zhí)行action代碼,然后再執(zhí)行攔截器mystack,通過的話就返回jsp頁(yè)面;
但是如果把應(yīng)用攔截器的代碼放在了定義action代碼里面的第一行的話,是執(zhí)行攔截器mystack,然后再執(zhí)行action的。
但是如果把應(yīng)用攔截器的代碼放在了定義action代碼里面的第一行的話,是執(zhí)行攔截器mystack,然后再執(zhí)行action的。
2017-03-25
例如下面所示:
<action name="login" class="actions.loginAction" method="login">
<result name="success">/WEB-INF/page/manager.jsp</result>
<result name="error">/login.jsp</result>
<interceptor-ref name="myStack"></interceptor-ref>
</action>
<action name="login" class="actions.loginAction" method="login">
<result name="success">/WEB-INF/page/manager.jsp</result>
<result name="error">/login.jsp</result>
<interceptor-ref name="myStack"></interceptor-ref>
</action>
2017-03-25
老師您好,前天我看了您的視頻,通過自己的實(shí)驗(yàn),發(fā)現(xiàn)您有些地方講錯(cuò)了
在第一講中,講到strut2框架執(zhí)行流程的時(shí)候,講到了攔截器的執(zhí)行順序。老師說的是先執(zhí)行攔截器1->2->3,然后再執(zhí)行action,就是這里應(yīng)該是講錯(cuò)了。我覺得對(duì)于自定義的攔截器,不是這樣執(zhí)行的,自定義攔截器執(zhí)行的順序應(yīng)該是與在Struct.xml文件當(dāng)中放在action標(biāo)簽里的位置有關(guān)。例如下面所示:
在第一講中,講到strut2框架執(zhí)行流程的時(shí)候,講到了攔截器的執(zhí)行順序。老師說的是先執(zhí)行攔截器1->2->3,然后再執(zhí)行action,就是這里應(yīng)該是講錯(cuò)了。我覺得對(duì)于自定義的攔截器,不是這樣執(zhí)行的,自定義攔截器執(zhí)行的順序應(yīng)該是與在Struct.xml文件當(dāng)中放在action標(biāo)簽里的位置有關(guān)。例如下面所示:
2017-03-25
老師講的不錯(cuò),挺好的,簡(jiǎn)單易懂
14:35有人說話 然后老師扭頭了。
The content of element type "package" must match "(result-types?,interceptors?...
package里元素必須按照一定的順序排列:
result-types
interceptors
default-interceptor-ref
default-action-ref
default-class-ref
global-results
global-exception-mappings
action*(所有action放到最后)
package里元素必須按照一定的順序排列:
result-types
interceptors
default-interceptor-ref
default-action-ref
default-class-ref
global-results
global-exception-mappings
action*(所有action放到最后)
程序流程:訪問auth時(shí)先通過AuthInterceptor攔截器判斷是否有登錄狀態(tài)(判斷session中是否存在loginInfo鍵值對(duì))
如果存在則直接訪問,不存在 則跳轉(zhuǎn)至login登錄界面,在登錄界面輸入正確的賬號(hào)密碼后,成功訪問
并且在session中保存loginInfo鍵值對(duì),下一次能夠直接訪問auth 如果輸入不正確,則繼續(xù)跳轉(zhuǎn)login登錄頁(yè)面
并且在session中保存loginError鍵值對(duì),讓login頁(yè)面獲取并顯示錯(cuò)誤提示
如果存在則直接訪問,不存在 則跳轉(zhuǎn)至login登錄界面,在登錄界面輸入正確的賬號(hào)密碼后,成功訪問
并且在session中保存loginInfo鍵值對(duì),下一次能夠直接訪問auth 如果輸入不正確,則繼續(xù)跳轉(zhuǎn)login登錄頁(yè)面
并且在session中保存loginError鍵值對(duì),讓login頁(yè)面獲取并顯示錯(cuò)誤提示
這應(yīng)該就是常見的獲取某個(gè)資源前提醒要登陸的實(shí)現(xiàn)吧!