專案需要用到ajax,最開始本想用jquery,最後權衡下選擇了dwr。
這裡說的是dwr整合ssh,其實dwr完全沒有必要和struts2結合,畢竟dwr需要返回的是object,而struts2直接轉向了頁面。非要強制將二者整合,只能做乙個偽action,這個偽action返回的還是object。當然dwr和spring、hibernate結合就非常好,可以將struts2戲稱為小三了 o(∩_∩)o ~
注意:此處之所以要用到dwr,是因為我如果不想在執行完action之後,頁面進行跳轉,因為要是使用struts的話,頁面就必須跳轉,所以使用dwr,此處僅是自己的看法。
啥話都不說,直接來**
此處的原因是兩者的配置檔案發生衝突。
首先,為何會衝突?其實原因很明顯,就是struts2的過濾器和dwr的過濾器產生衝突,web server無法準確判斷準確的位址,
開啟web.xml會發現,我們配置了如下的資訊
首先是struts2的過濾器
struts2
org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter
可以看到,在url-pattern中,我們將web專案下的所有路徑都交給了struts2來處理,
然而,我們又配置了dwr的過濾器
dwr-invoker
dwr servlet
direct web remoter servlet
org.directwebremoting.servlet.dwrservlet
debug
true
雖然,這裡我們配置了url-pattern/dwr/*下的所有路徑歸dwr,
但是,在前方已經配置了將web專案下的所有路徑交給struts2,
因此,這就是產生衝突的根本原因。
《解決方案》
那麼,如何來解決這個衝突呢?struts2和dwr誰也無法替代誰,在專案中必不可少,
我們能想到的最直接的方案就是:在struts2所處理的路徑中,分出一部分讓dwr處理,這樣就兩全其美了。
要分出struts2不處理的路徑,其實很簡單。
在struts2中有個屬性叫excludepattern,也就是用來配置struts2不處理的路徑?
看到這裡,我們突然恍然大悟,心情異常激動,
於是我們只需要在struts.xml中新增配置
讓/dwr/*下
的全部路徑歸dwr。
Struts2與Spring的整合
struts2與spring的整合,是mvc和ioc的整合,必須充分利用他們的特性 1 整合的原理 struts2 攔截使用者請求後,需要將資訊通過struts.xml的配置檔案的內容傳遞到相應的action中,在這個時候就需要建立action例項,整合spring框架後,action例項交給spr...
struts2與jfeechart整合相關問題
color red 1 struts2版本低,它的struts jfreechart plugin.jar中檔案struts plugin.xml中定義的包沒有繼承struts default color 原始檔如下 150200 解決辦法 解壓jar檔案,將struts plugin.xml改為 ...
Struts2與Spring的整合
今天倒騰了半天,終於是把這個兩個框架整合到一起了。還是要寫一下總結,同時給大家一些幫助。開發環境 myeclipse 9.0 不好用!tomcat6.0 1.準備工作 需要匯入的包 struts2與spring基本的包就不用說了,我用的是struts2.1 spring 3.0,尤其要注意 別少匯入...