1. 我使用java web過濾器過濾jsp網頁為何執行多次而且瀏覽器還顯示不出來..
response.sendRedirect(url);相當於客戶端又請求了一遍這個地址,而且又被攔截,重定向,生新請求……如此循環。
2. java servlet為什麼過濾器只執行了一次
正常情況是兩次,在web.xml中看你的過濾器配置是否有誤,應過濾請求「/」即所有請求。
再看你的dofilter()中是否是HttpRequest和HttpResponse兩個對象都有。
3. JSP中過濾器,用戶登陸的時候,他過濾怎麼也把Jquery也過濾一遍,然後又重新走一遍,到底是怎麼
過濾器會過濾任何在瀏覽器中要訪問的文件,像js、css和圖片需要單獨放到一個文件夾下,然後在過濾器中排除這個文件夾即可
4. jsp過濾器的三個方法 裡面都要寫些什麼..
1. Servlet過濾器基礎
Servlet過濾器是Servlet的一種特殊用法,主要用來完成一些通用的操作。比如編碼的過濾,判斷用戶的登陸狀態等等。Servlet過濾器的適用場合:
A.認證過濾
B.登錄和審核過濾
C.圖像轉換過濾
D.數據壓縮過濾
E.加密過濾
F.令牌過濾
G.資源訪問觸發事件過濾
Servlet過濾器介面的構成:
所有的Servlet過濾器類都必須實現javax.servlet.Filter介面。這個介面含有3個過濾器類必須實現的方法:
方法 說明
init(FilterConfig cfg) 這是Servlet過濾器的初始化方法,性質等同與servlet的init方法。
doFilter(ServletRequest,ServletResponse,FilterChain) 完成實際的過濾操作,當請求訪問過濾器關聯的URL時,Servlet容器將先調用過濾器的doFilter方法。FilterChain參數用於訪問後續過濾器
destroy() Servlet容器在銷毀過濾器實例前調用該方法,這個方法中可以釋放Servlet過濾器佔用的資源。,性質等同與servlet的destory()方法。
Servlet過濾器的創建步驟:
A.實現javax.servlet.Filter介面的servlet類
B.實現init方法,讀取過濾器的初始化函數
C.實現doFilter方法,完成對請求或過濾的響應
D.調用FilterChain介面對象的doFilter方法,向後續的過濾器傳遞請求或響應
F.在web.xml中配置Filter
2.使用過濾器處理中文問題
當用用戶登陸頁面輸入帳號時,如果輸入是中文,後台servlet再次輸出這個內容時,可能就會是亂碼,這是因為serlvet中默認是以ISO-8859-1格式編碼的,如果後台有多個Servlet,多個參數,這樣就不合適,這個問題,我們可以通過一個過濾器統一解決,使後台的輸出輸出都支持中文!將ISO-8859-1轉碼為GBK的那段代碼!
3.使用過濾器認證用戶:
每個過濾器也可以配置初始化參數,可以將不需要過濾的地址配置到這個Filter的配置參數中,過濾時,如果請求地址在配置參數中,則放行,這樣就避免了在程序中硬編碼。每個Filter中初始化時,都可以得到配置對象,在Filter中配置二個不需要過濾的地址,一個是登陸頁面,一個是執行登陸認證的servlet;
====華麗的分割線====
上面是理論知識
下面是實踐寫法
Filter中的三個方法其實只寫doFilter方法,另外兩個直接由父類實現即可。
下面給出doFilter方法覆蓋例子:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
//執行servlet處理請求響應前需要做的代碼
chain.doFilter(request, response);
//執行servlet處理請求響應後要做的代碼
}
5. jsp的filter中配置驗證登錄的過濾器,但是在登錄的時候過濾器執行了兩次
<a href="#" onclick="window.loginForm.submit();"><img src="skin/images/hua02.jpg" width="78" height="27" border="0" onclick="loginForm.submit();"/></a>
看到沒,你的圖片本身就有個onclick="loginForm.submit();,然後又加了個超鏈接…專…當然會提屬交兩次了
6. JSP頁面中怎麼調用過濾器
過濾器攔截的是路徑,只要把只想JSP的路徑攔截了就可以了。
7. 學習jsp中過濾器遇到了問題
右擊項目,重新構建一下類路徑:
8. java我寫了一個過濾器,所有訪問的(js、jsp、各種圖片等等)都會進過濾器,但是為什麼.do、.action這樣訪
需要在web.xml文件中配置過濾器
<filter>
<filter-name>logonFilter</filter-name>
<filter-class>自己版寫的權過濾器</filter-class>
</filter>
<filter-mapping>
<filter-name>logonFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>logonFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
9. java 前端訪問後台 , filter 過濾器用 request 跳轉回index頁面為什麼又進了一次 doFilter
我猜到的是一種場景,你的頁面裡面有兩個其他的資源,比如.js .css等,這倆的路由也在你的過濾器范圍內,所以就也近如filter了
10. java web項目中過濾器的使用(過濾器執行多次)
圖片中顯示的log是執行一次的。
不是本來就打開login.jsp嗎,不用再跳轉到login.jsp,不是的時候,再跳轉。