我來給你簡單的說一下吧:)
首先要明確.Filter是JSP2.0里面的東西 ,顧名思義,也就是過濾器的意思
和你說說如何用吧.要用Filter就得在web.xml中配置
例:
//配置方法和配置普通的Servlet一樣的哦
PrivFilter
com.myPriv.filter.PrivFilter
PrivFilter
/resource/*
//com.myPriv.filter.PrivFilter是這個過濾器所在的位置.當然這個過濾器必須實現(xiàn)接口javax.servlet.Filter.
然后就可以在過濾器這個接口方法中增加過濾條件了
public void doFilter(ServletRequset request,ServletResponse response,FilterChain chain)
thows ServletException,IOException{
}
然后你可以把過濾條件寫出來,寫在doFilter方法里面
我這里寫一個簡單的例子:
public void doFilter(ServletRequest req,ServletResponse res,
FilterChain chain) throws IOException,ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session=request.getSession();
ServletContext application=session.getServletContext();
if(session.getAttribute("userSession")==null)
{
response.sendRedirect("error/priv_error.jsp");
return;
}
else
{
chain.doFilter(request,response);
}
}
在上面的這個過濾方法中,如果session.getAttribute("userSession")==null)那就跳轉(zhuǎn)到錯誤頁面.如果不為空,則繼續(xù)
所以
chain.doFilter(request,response);的意思就是跳轉(zhuǎn)到下個頁面,
明白了吧?
如果還有不明白.,可以留下你的問題
------------------------
還有忘了回答你的問題 了.java會在處理每一個Servlet時都走一次Filter的.所以你不必擔(dān)心你的過濾不起作用了
而且chain.doFilter(request.response);
是必須的.沒有他,程序就不會繼續(xù)了:)他是讓你的request和response繼續(xù)運行哦
--------------------------------
這個你就可接寫/*
好了.它是說對哪些范圍起作里這個過濾器
不明白Filter過濾器怎么用,大家?guī)蛶臀?/h1>
不明白Filter過濾器怎么用,大家?guī)蛶臀?br/>首先問一個問題,FilterChain參數(shù)是做什么用的?假如我就有一個過濾器,FilterChain.doFilter(request,response);這句話是不是必須寫?
還有如果有幾個過濾器,用FilterChain.doFilter(request,response)調(diào)用下一個過濾器的時候,Java怎么知道調(diào)用的順序呢?難道是按照web.xml文件里配置的順序么?我是新手,請教諸位大俠!
謝謝您的回答,我再問一個問題,就是
/resource/*這個映射地址怎么寫?您這里寫的/resource/*是什么意思?不是隨便寫吧?
還有如果有幾個過濾器,用FilterChain.doFilter(request,response)調(diào)用下一個過濾器的時候,Java怎么知道調(diào)用的順序呢?難道是按照web.xml文件里配置的順序么?我是新手,請教諸位大俠!
謝謝您的回答,我再問一個問題,就是
/resource/*這個映射地址怎么寫?您這里寫的/resource/*是什么意思?不是隨便寫吧?
其他人氣:549 ℃時間:2020-09-30 20:50:30
優(yōu)質(zhì)解答
我來回答
類似推薦
- Filter過濾器中指定過濾內(nèi)容怎么配置?
- :我在計數(shù)器上撥了5個珠子表示一個數(shù),你能猜出我可能撥了哪些數(shù)嗎?
- use,using,used應(yīng)該選擇哪個?為什么?
- 如果一個數(shù)的平方等于25,這個數(shù)是什么
- Will you please tell me how much the () will be?(news)
- 回聲定位與計算
- 英語翻譯
- 質(zhì)量百分數(shù)85的乙醇-水溶液,80°C的密度是多少?萬分感激~..
- Electricity can light our homes and warm us(對劃線部分提問) (light our homes and warm us)是劃線部
- 如圖,CD是平面鏡,光線從A點出發(fā)經(jīng)CD上點E反射后照射到B點,若入射角α(入射角等于反射角),AC⊥CD,BD⊥CD,垂足分別為C、D,且AC=3,BD=6,CD=11,則tanα=_.
- lgx=2lga+3lgb-5lgc,求x
- 2x²*5x+3大于等于0
猜你喜歡
- 1作家寫的雨的文章
- 2我的家鄉(xiāng)哈爾濱 作文
- 3秋天的懷念為什么結(jié)尾要寫各種顏色的菊花,不要自己的理解,要書上的理解
- 4i live in where i worked對不對
- 5用8個直角三角形紙片拼出如圖所示的形狀,圖中的3個正方形的面積之間有何關(guān)系?請用a,b,c將此關(guān)系表示出來.
- 6世界三大密度流是什么?
- 7人類基因組草圖完成時間?科學(xué)家已破解了人類染色體上多少基因
- 8鳴鐘擊磬的意思?
- 9(-8)2007+(-8)2006能夠被下列數(shù)整除的是
- 10Thanks for your ( ).填help的適當形式,該怎么填?那Thank you for ( )me.這里面有什么語法知識?
- 11現(xiàn)有①MgCl2 ②金剛石 ③NaOH ④干冰 ⑤碘晶體 五種物質(zhì)
- 12摩擦起點正電荷為什么不動