更新時(shí)間:2022-05-05 09:12:23 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2250次
Filter過(guò)濾器,它是Servlet技術(shù)中最實(shí)用的技術(shù),Web開(kāi)發(fā)人員通過(guò)Filter技術(shù),對(duì)web服務(wù)器管理的所有web資源:例如Jsp, Servlet, 靜態(tài)圖片文件或靜態(tài) html 文件等進(jìn)行攔截,從而實(shí)現(xiàn)一些特殊的功能。例如實(shí)現(xiàn)URL級(jí)別的權(quán)限訪問(wèn)控制、過(guò)濾敏感詞匯、壓縮響應(yīng)信息等一些高級(jí)功能。它主要用于對(duì)用戶請(qǐng)求進(jìn)行預(yù)處理,也可以對(duì)HttpServletResponse進(jìn)行后處理。使用Filter的完整流程:Filter對(duì)用戶請(qǐng)求進(jìn)行預(yù)處理,接著將請(qǐng)求交給Servlet進(jìn)行處理并生成響應(yīng),最后Filter再對(duì)服務(wù)器響應(yīng)進(jìn)行后處理。
功能在HttpServletRequest到達(dá) Servlet 之前,攔截客戶的HttpServletRequest 。根據(jù)需要檢查HttpServletRequest,也可以修改HttpServletRequest 頭和數(shù)據(jù)。
在HttpServletResponse到達(dá)客戶端之前,攔截HttpServletResponse 。根據(jù)需要檢查HttpServletResponse,也可以修改HttpServletResponse頭和數(shù)據(jù)。
系統(tǒng)采用Struts架構(gòu),想在java過(guò)濾器中判斷session是否失效,失效即跳轉(zhuǎn)到登錄頁(yè)面,不好使啊!
代碼如下:
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
String indexPage = config.getInitParameter("indexPage");
// 設(shè)置request編碼用的字符集
request.setCharacterEncoding("utf-8"); // ①
HttpServletRequest requ = (HttpServletRequest) request;
HttpSession session = requ.getSession(true);
System.out.println("進(jìn)入Session過(guò)濾器");
// 獲取客戶請(qǐng)求的頁(yè)面
String requestPath = requ.getServletPath();
System.out.println("S請(qǐng)求動(dòng)作:" + requestPath);
if (!requestPath.endsWith("/login_noauth1.do")) {
String userid = String.valueOf(session.getAttribute("username"));
if (userid.equals("null")) {
((HttpServletResponse) response).sendRedirect(indexPage);
return;
} else {
chain.doFilter(request, response);
}
} else {
chain.doFilter(request, response);
}
}
以上就是關(guān)于“在Java Filter中如何進(jìn)行頁(yè)面重定向”的介紹,大家如果想了解更多相關(guān)知識(shí),不妨來(lái)關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的課程內(nèi)容從入門(mén)到精通,細(xì)致全面,通俗易懂,適合沒(méi)有基礎(chǔ)的小白學(xué)習(xí),希望對(duì)大家能夠有所幫助。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743