更新時間:2022-02-07 11:49:51 來源:動力節(jié)點 瀏覽4686次
*一般出現(xiàn)在有/攔截的filter中
1、多次重定向錯誤
2、不能在響應(yīng)提交后再使用請求或轉(zhuǎn)發(fā)
filter機制的運行原理不理解;
/ * 攔截項目下全部資源
以下給運行情況:
每次dofilter放行到下一個servlet后,運行完還會自動返回到放行處繼續(xù)向下;
錯誤1出現(xiàn)的情況:在filter中重定向到下一個頁面后,該頁面也被攔截器攔截,同樣會走這個filter的重定向方法,導(dǎo)致一直出現(xiàn)重定向;
解決:將filter的重定向換成請求轉(zhuǎn)發(fā)。
錯誤2出現(xiàn)的情況:在dofilter后寫了有關(guān)于request和response代碼;
比如在某個if中寫了dofilter之后,又在結(jié)尾寫dofilter
Filter1的dofilter向Filter2發(fā)送請求,F(xiàn)ilter2運行到dofilter處返回響應(yīng),回到Filter1的dofilter之后的位置,此時請求和響應(yīng)已經(jīng)完成,所以不能再次使用重定向或者是轉(zhuǎn)發(fā)
解決:不在dofilter后使用請求轉(zhuǎn)發(fā)和重定向或者sendError,可以在dofilter后獲取域中存放的值,因為雖然提交了,域?qū)ο笠琅f存在。
通過上述相信大家對Filter失敗的解決方法已經(jīng)有所了解,大家如果想了解更多相關(guān)知識,可以關(guān)注一下動力節(jié)點的Java在線學(xué)習(xí),里面的課程內(nèi)容全面細(xì)致,由入門到精通,很適合零基礎(chǔ)的小白學(xué)習(xí),希望對大家能夠有所幫助。
初級 202925
初級 203221
初級 202629
初級 203743