解決struts2過濾器衝突的簡單方法

2021-07-10 06:13:32 字數 685 閱讀 1329

struts2使用filterdispatcher進行url過濾,預設是所有的url都過濾,但是專案中有些url是不想用struts2進行過濾的,網上搜了不少方法

1.修改web.xml檔案。

struts2

*.action   

只讓過濾器對加有.action字尾的路徑有效,如果需要攔截.jsp,加上*.jsp就行了。

但是這樣如果有無字尾名的url(如/demo/)就不能過濾了

2.修改struts2核心jar中的default.properties檔案

把struts.action.extension=action,,

改為struts.action.extension=action,do,jsp,

但我改了之後發現根本沒效果,不知為何

3.自定義乙個

繼承strutsprepareandexecutefilter

的過濾器,將配置換成自己自定義的過濾器。(推薦此法)

public class extendstrutsfilter extends strutsprepareandexecutefilter else

}}

修改web.xml

struts2

com.filter.extendstrutsfilter

/*這種方法試驗成功

過濾器(6) 過濾器的攔截

本系列部落格彙總在這裡 過濾器彙總 我們來做個測試,寫乙個過濾器,指定過濾的資源為 index.jsp,然後我們在瀏覽器中直接訪問 index.jsp,你會發現過濾器執行了!但是,當我們在 helloservlet 中使用伺服器端的跳轉request.getrequestdispathcer ind...

解決struts2和dwr請求url衝突問題

在struts2的配置檔案中,有如下配置內容 struts2 org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter 注意到黃色背景那一行,說明servlet容器把所有客戶端請求交給struts2的filter處理。...

全域性過濾器解決編碼問題

為了解決每次get或者post方式提交資料的時候,編碼解碼方式不同導致亂碼的問題,直接在過濾器中自動過濾 新建過濾器filter public class globaldecodefilter implements filter override public void dofilter servl...