很多程式設計師在開發web專案中都會遇到乙個問題,就是struts
2無法與ajax框架dwr共存於專案中,其實,這是自然而然的事。
原因
首先,為何會衝突?其實原因很明顯,就是struts
2的過濾器和dwr的過濾器產生衝突,web server無法準確判斷準確的位址,
開啟web.xml會發現,我們配置了如下的資訊
首先是struts
2的過濾器
可以看到,在url-pattern中,我們將web專案下的所有路徑都交給了struts
2來處理,
然而,我們又配置了dwr的過濾器
direct web remoter servlet/dwr/*下的所有路徑歸dwr,
但是,在前方已經配置了將web專案下的所有路徑交給struts
2,
因此,這就是產生衝突的根本原因。
《解決方案》
那麼,如何來解決這個衝突呢?struts
2和dwr誰也無法替代誰,在專案中必不可少,
我們能想到的最直接的方案就是:在struts
2所處理的路徑中,分出一部分讓dwr處理,這樣就兩全其美了。
要分出struts
2不處理的路徑,其實很簡單。
在struts
2中有個屬性叫excludepattern,也就是用來配置struts
2不處理的路徑
?看到這裡,我們突然恍然大悟,心情異常激動,
於是我們只需要在struts
.xml中新增配置
讓/dwr/*下的全部路徑歸dwr。
Struts2與DWR在專案中的共存解決方案
1.struts2和dwr為什麼會衝突?最近很多同學都在問同樣乙個問題,struts2和dwr該如何共存?我們先分析一下為什麼會出現衝突.struts2通過strutsprepareandexecutefilter過濾器來處理請求,常見的配置如下 struts2 org.apache.struts2...
Struts2與DWR在專案中的共存解決方案
1.struts2和dwr為什麼會衝突?最近很多同學都在問同樣乙個問題,struts2和dwr該如何共存?我們先分析一下為什麼會出現衝突.struts2通過strutsprepareandexecutefilter過濾器來處理請求,常見的配置如下 struts2 org.apache.struts2...
Struts2與DWR在專案中的共存解決方案
1.struts2和dwr為什麼會衝突?最近很多同學都在問同樣乙個問題,struts2和dwr該如何共存?我們先分析一下為什麼會出現衝突.struts2通過strutsprepareandexecutefilter過濾器來處理請求,常見的配置如下 struts2 org.apache.struts2...