這真是一個普遍的問題。Spring MVC Struts混合
我有一個電子商務Web應用程序,我約4年前建立獨奏。當時,我決定使用Struts作爲我的mvc框架。隨着多年工作在其他項目上的工作,我開始欣賞並感受Spring MVC提供的功能集和靈活性。
服務層是堅實的,並且是使用spring框架構建的。
我想重構我目前的web層,現在使用Spring MVC。但正如我前面提到的,我寫了應用程序獨奏,它更像是一個側面項目。重要的是我沒有時間,也不想冒風險和從頭開始完全重新設計web層。
所以我問社區他們的策略是什麼,這個重構工作?理想情況下,我想一次處理幾件,最終混合這兩種技術,直到最終我可以完全關閉Struts爲止。
我的網站的所有新功能最好在Spring MVC中開發。
好的是,我現有的視圖,目前使用的Apache瓷磚,不會有太大的變化,除了刪除struts標籤庫,並用Spring MVC取代它們。
我想保留的一個要求是URL不應該改變。
換句話說,ActionServlet和DispatcherServlet將不得不映射到單獨的路徑,但以某種方式轉到不同的實現。
例如,我怎麼能說mysite.com/show-product映射到Spring Dispatcher servlet,但mysite.com/show-category映射到Struts動作servlet。
您的想法值得讚賞。
是的,我明白你的意思有關轉換動作類去春來控制器,我想這不是真的有道理......我很抱歉產生混淆......關於在同一個容器中運行它們,如果我有要求URL不應該改變的情況......有沒有辦法解決它?換句話說,ActionServlet和DispatcherServlet將不得不映射到單獨的路徑嗎?我必須有鏈接http://www.mysite.com/show-product(struts)和www.mysite.com/2.0/show-product(spring mvc)對嗎? –
@RoyKachouh取決於;這使得它更有問題,因爲您需要選擇性地禁用S2請求處理。這可能來自S2.1.mumble。雖然我不確定攔截器的機制是什麼,但是沒有考慮到它,你可能可以使用自定義過濾器或者使用攔截器。 –
你能找到一些解決方案嗎? – abhi