2019-9-10 seo達人
Struts2中轉發和重定向的區別以及實現方法
最近遇到一個問題,就是在設置struts2的攔截器以后,想要訪問必須登錄,想要的效果是轉到登錄頁面,也就是轉到xxx.jsp,但是發現沒有轉到,而是action結尾的,后來發現是因為在struts.xml里面配置的時候,沒有在result中配置type屬性,struts默認的是重定向,就是網址不變,解決辦法就是在result中加type=”redirect”,就可以了
轉發和重定向的區別:
重定向是不共享request的東西,重定向后的頁面中無法接收request里的東西,另外dispatcher結果類型的default屬性為TRUE,故<result- type/>缺省為dispatcher 所以如果沒有設置type屬性的話,那么默認的是請求轉發,就是說你要是什么都不寫的話,默認就是這樣的
1
<result name="list" type="dispatcher">/admin/jsp/userAction/list.jsp</result>
1
重定向的兩個屬性:
redirect是在處理完當前Action之后,重定向到另外一個實際的物理資源,以.jsp結尾這樣的
redirectAction也是重定向,但它重定向到的是另外一個Action,就是以action結尾這樣的
只要是重定向,那么之前凡是保存在request里面的東西就全都消失了
因為重定向實際是發送第二個請求,故請求中的東西也就不會出現在第二個請求里面了
也就是說重定向是不共享request的東西,重定向后的頁面中無法接收request里的東西,
藍藍設計( m.paul-jarrel.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務。