最新回答 / 落葉蕭蕭online
找到問題了,dofilter方法中提供了參數,參數用的arg0和agr1,我這里直接調用過程request和response肯定不行,需要寫的是參數名,請求和響應都是以參數形式傳遞進去的。。
2017-12-25
最贊回答 / 隱姓埋名的姓嚴的
1.一般filter都是一個鏈,web.xml 里面配置了幾個就有幾個。一個一個的連在一起?request -> filter1 -> filter2 ->filter3 -> …. -> request resource.2.chain.doFilter將請求轉發給過濾器鏈下一個filter , 如果沒有filter那就是你請求的資源
2017-12-17
已采納回答 / 慕慕0009918
你要非要這樣也可以的,只是原本要在servlet中傳入的數據要在過濾器里傳,之后才能判斷表單是否為空??紤]到過濾器的作用,和可能帶來的麻煩。這樣不合適。
2017-12-04
沒聽懂的人你得看仔細了。!代碼是很簡單的,如果你覺得是因為代碼問題,你可以暫停把代碼敲上去在來看!第一個,關于main的死循環,是因為Index.jsp 是過濾器過濾的路徑之一,當偵測到這個路徑的時候,就會執行過濾器dofilter()中的方法,方法的主體在于把該頁面跳轉到main.jsp頁面,當跳轉以后,因為main.jsp也是過濾器的過濾路徑之一,所以就會產生死循環。第二個問題,關于這節,主要是告訴你們能夠觸發過濾器的四種description標簽屬性,request,include,forword,error;主要是講解了如何觸發過濾器的。挺好的,不足就是在重定向和內部轉發講的有點兒多
2017-11-28
Servlet 3.0 支持和提倡使用注解模式,所有在創建web工程時一般不主動創建Web.xml。 可以直接在eclipse中創建filter,通過@WebFilter(String url) 來選擇過濾的路徑。
2017-11-28
doFilter()方法中的request參數要進行轉換的原因:首先ServletRequest是HttpServletRequest的父接口,doFilter()方法中request類型定義為父接口的類型是為了接收到更多子接口的實現類對象(多態性),此處request強制轉換為HttpServletRequest是因為傳過來的request對象本來就是HttpServletRequest的實現類對象。
此處用了多態性的性質通過ServletRequest接收到了HttpServletRequest的實現類對象
轉換回HttpServletRequest類型的好處是,在運行時可以用到更多的方法
此處用了多態性的性質通過ServletRequest接收到了HttpServletRequest的實現類對象
轉換回HttpServletRequest類型的好處是,在運行時可以用到更多的方法
2017-11-26