⑴ chain.doFilter過濾器如果要過濾多個網頁但不是所有的網頁web.xml在配置的時候怎麼寫~~~
HttpServletRequest req = (HttpServletRequest )request;
HttpServletRequest res = (HttpServletRequest )response;
String s = req.get***url(); //----具體去試,就是每次的請求的地址
//一般都是「/項目名/***」
if(!s.equel*******("/項目名/***") && !s.equel*******("/項目名/***") ){
//如果不匹配給出的路徑,則放行
chain.doFilter(req, res);
}else{
return;
}
s.equel******* ----(最長的那一個,就是比較字元串)
在web.xml裡面把這個Filter配進去,放在其他的Filter前面
<filter-mapping>
<url-parme>/*</url-parme>
</filter-mapping>
/* 攔截所有的請求~~~~~~~~~~
都是手打,大概的在myeclipse都有提示的
這樣過濾了沒什麼好處,最好是設一個session,不然你過濾的網頁永遠都訪問不到了~~~~~~~~~~~
⑵ 搭建struts2環境,在web.xml中加入過濾器的代碼後訪問任何頁面都是404錯誤。請大家幫幫忙。
WEB.xml中配置struts2的代碼片段
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
'/*'是攔截所有的url,你這里可以配置你的過濾規則的啊(例如回/*.jsp、/*_aaa.jsp等),但是一般不需要答修改的,改了以後,擴展起來會給你帶來一些的不必要的麻煩的
望採納。
⑶ 懂java進,為什麼我在web.xml中配置過濾器,然後就找不到路徑了,都是404錯誤
404 not found
未找到該網頁,說明此網頁已經在伺服器被刪除或被改名。在安全助手裡添加黑名單,把這個網站的網址輸入進去。不讓他彈出。
404是對NOT FOUND這種錯誤情況的一個編碼,HTTP協議的錯誤信息在不同軟體、不同的語言描述可能不同,但是其代碼是統一的,以便瀏覽器能夠正確識別和處理。
⑷ web.xml中的過濾器可否動態配置
直接使用spring的過濾器就可以定義好對應filter和filter-mapping之後即可自動進行過濾,典型的回就是編碼過答濾器。
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
備註:
這個是固定寫法,代碼中的「*」表示所有內容都必須經過此過濾器,也可以自定義類型。
也可以自動與過濾器,之後只需要繼承自Filter 即可。
⑸ struts2怎麼在web.xml配置過濾器過濾掉指定的url或者指定的url不過濾
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern> //這個抄 地方指定要過濾的url
</filter-mapping>
⑹ 如何在web.xml配置過濾器實現過濾web下所有文件夾下的文件
比如我要過濾web文件夾下的所有文件內
<filter-mapping>
<filter-name>right</filter-name>
<url-pattern>/web/*</url-pattern>
</filter-mapping>
不要什容么.jsp
⑺ web.xml 配置過濾器 問題
伙計,別這樣寫了,出錯的原因不在過濾器本身,而是在xml文件上,xml文件不支持通配符版,所以你可以把<url-pattern>的值權改為"*",默認全都過濾,然後在過濾器裡面寫一個正則表達式:
String str = "[\\w]{1,}\\.jsp$";來判斷是否是jsp頁面,如果是就不執行doFilter()方法,這樣過濾才算靈活,獲取請求的文件名不用我說了吧?相信你會的
⑻ 懂java進,為什麼我在web.xml中配置過濾器,然後就找不到路徑了,都是404錯誤
因為你的filter可能配置錯誤,導致tomcat無法啟動你的web應用,於是就404了,對於filter錯誤是最麻煩的,因為每次錯誤都基本不太一樣。需要仔細檢查
⑼ 在J2EE中,使用Servlet過濾器,需要在web.xml中配置什麼元素
需要配置<filter>標簽,這個標簽就是用作攔截器的,具體的配置如下:
<filter> --- 配置過濾器
<filter-name>FirstFilter</filter-name>
---為過濾器起一個名字
<filter-class>com.itheima.filter.FirstFilter</filter-class>
---過濾器類的全路徑名
<init-param>
--- 可選的 可以配置多個 過濾器的初始化參數可以在過濾器中通過FilterConfig對象來獲取
<param-name>name1</param-name>
<param-value>value1</param-value>
</init-param>
</filter>
<filter-mapping>
--- 配置過濾器的攔截路徑 ,一個<Filter>可以配置多個<filter-mappint>
<filter-name>FirstFilter</filter-name>
---為哪個過濾器進行配置
<url-pattern>/*</url-pattern>
--- 攔截哪個路徑 其中url-pattern的寫法和學習Serlvet時的url-pattern的寫法相同 這個url-pattern可以配置多個
<servlet-name>Demo1Servlet</servlet-name>
---攔截哪個名字的Servlet 可以配置多個
<dispatcher>REQUEST</dispatcher>
--- 配置攔截哪種類型的對資源的訪問,可選的值有REQUESTFORWARD INCLUDE ERROR,如果不配置默認只攔截REQUEST方式,如果具體配置了就攔截具體配置的方式的對資源的訪問,此標簽可以配置多個
</filter-mapping>
簡單點說就是需要配置<filter>和<filter-mapper>標簽,filter標簽里<filter-name>、<filter-class>是必須要的,filtermapper中<filter-name>、<url-pattern>是必須要的,其他標簽都是可選的