Struts2中轉(zhuǎn)發(fā)和重定向的區(qū)別以及實(shí)現(xiàn)方法

2019-9-10    seo達(dá)人

Struts2中轉(zhuǎn)發(fā)和重定向的區(qū)別以及實(shí)現(xiàn)方法

最近遇到一個(gè)問(wèn)題,就是在設(shè)置struts2的攔截器以后,想要訪問(wèn)必須登錄,想要的效果是轉(zhuǎn)到登錄頁(yè)面,也就是轉(zhuǎn)到xxx.jsp,但是發(fā)現(xiàn)沒(méi)有轉(zhuǎn)到,而是action結(jié)尾的,后來(lái)發(fā)現(xiàn)是因?yàn)樵趕truts.xml里面配置的時(shí)候,沒(méi)有在result中配置type屬性,struts默認(rèn)的是重定向,就是網(wǎng)址不變,解決辦法就是在result中加type=”redirect”,就可以了



轉(zhuǎn)發(fā)和重定向的區(qū)別:



重定向是不共享request的東西,重定向后的頁(yè)面中無(wú)法接收request里的東西,另外dispatcher結(jié)果類型的default屬性為T(mén)RUE,故<result-          type/>缺省為dispatcher 所以如果沒(méi)有設(shè)置type屬性的話,那么默認(rèn)的是請(qǐng)求轉(zhuǎn)發(fā),就是說(shuō)你要是什么都不寫(xiě)的話,默認(rèn)就是這樣的

1

<result name="list" type="dispatcher">/admin/jsp/userAction/list.jsp</result>

1

重定向的兩個(gè)屬性: 

redirect是在處理完當(dāng)前Action之后,重定向到另外一個(gè)實(shí)際的物理資源,以.jsp結(jié)尾這樣的 

redirectAction也是重定向,但它重定向到的是另外一個(gè)Action,就是以action結(jié)尾這樣的 

只要是重定向,那么之前凡是保存在request里面的東西就全都消失了 

因?yàn)橹囟ㄏ驅(qū)嶋H是發(fā)送第二個(gè)請(qǐng)求,故請(qǐng)求中的東西也就不會(huì)出現(xiàn)在第二個(gè)請(qǐng)求里面了 

也就是說(shuō)重定向是不共享request的東西,重定向后的頁(yè)面中無(wú)法接收request里的東西,

藍(lán)藍(lán)設(shè)計(jì)m.yvirxh.cn )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì)  cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)。

日歷

鏈接

個(gè)人資料

存檔