更新時間:2022-02-07 11:49:51 來源:動力節點 瀏覽4540次
*一般出現在有/攔截的filter中
1、多次重定向錯誤
2、不能在響應提交后再使用請求或轉發
filter機制的運行原理不理解;
/ * 攔截項目下全部資源
以下給運行情況:
每次dofilter放行到下一個servlet后,運行完還會自動返回到放行處繼續向下;
錯誤1出現的情況:在filter中重定向到下一個頁面后,該頁面也被攔截器攔截,同樣會走這個filter的重定向方法,導致一直出現重定向;
解決:將filter的重定向換成請求轉發。
錯誤2出現的情況:在dofilter后寫了有關于request和response代碼;
比如在某個if中寫了dofilter之后,又在結尾寫dofilter
Filter1的dofilter向Filter2發送請求,Filter2運行到dofilter處返回響應,回到Filter1的dofilter之后的位置,此時請求和響應已經完成,所以不能再次使用重定向或者是轉發
解決:不在dofilter后使用請求轉發和重定向或者sendError,可以在dofilter后獲取域中存放的值,因為雖然提交了,域對象依舊存在。
通過上述相信大家對Filter失敗的解決方法已經有所了解,大家如果想了解更多相關知識,可以關注一下動力節點的Java在線學習,里面的課程內容全面細致,由入門到精通,很適合零基礎的小白學習,希望對大家能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習