2011-12-20 6 views
5

これは本当に一般的な質問です。Spring MVC Struts Mixing

私は約4年前に私が単独で構築したeコマースウェブアプリケーションを持っています。当時、私はmvcフレームワークとしてStrutsを使用することを決めました。他のプロジェクトに長年携わってきたので、私はSpring MVCが提供する機能セットと柔軟性に感謝し、より快適に感じるようになりました。

サービスレイヤは堅牢で、スプリングフレームワークを使用して構築されています。

現在のWeb層をリファクタリングして、Spring MVCを使用したいと考えています。しかし、私が以前に言及したように、私はアプリを独り占めして書いています。私は時間がないという点もありません。また、Webレイヤーをゼロから捨てて完全にリエンジニアリングするリスクもありません。

私はコミュニティに、このリファクタリングの取り組みの戦略について質問していますか?

理想的には、私はStrutsを完全に無効にすることができるようになるまで、一度に断片に取り組み、最終的に2つの技術を混在させたいと考えています。

私のサイトのすべての新機能は、Spring MVCで最もよく開発されます。

現在、Apacheのタイルを使用している私の既存のビューは、strutsタグライブラリを削除してSpring MVCに置き換える以外は、あまり変更する必要はありません。

1つの要件は、URLを変更しないことです。

つまり、ActionServletとDispatcherServletは別々のパスにマップする必要がありますが、何らかの形で別の実装に移行する必要があります。

たとえば、mysite.com/show-productがSpring Dispatcherサーブレットにマッピングされていても、mysite.com/show-categoryがStrutsアクションサーブレットにマップされているとはどうでしょうか。

あなたの考えは高く評価されます。

答えて

1

両方を同じコンテナ内で適切なマッピングで実行することができます。

「私はアクションクラスを一度に1つずつ春のコントローラーに変換する必要がありますか」という質問は理解できません。

アクションクラスをコントローラのメソッドにマッピングするかどうかは、既存のアプリケーションの組織と他のものよりも、あるいは少なくともSpringアプリケーションをどのように整理したいのかが重要です。

+0

はい、私は私は本当になかったことを推測し、春のコントローラにアクションクラスの変換についてあなたのポイントを理解します意味があります...混乱のために申し訳ありません...同じコンテナでそれらを実行することに関して、URLの変更が必要でないという要件があったらどうしたらいいですか?つまり、ActionServletとDispatcherServletは別々のパスにマップする必要がありますか?私はリンクhttp://www.mysite.com/show-product(ストラット)とwww.mysite.com/2.0/show-product(spring mvc)のリンクを持っていなければならないでしょうか? –

+0

@RoyKachouhは異なります。これは、S2要求処理を選択的に無効にする必要があるという点で、より問題になります。これはS2.1.mblebleから可能です。インターセプタのメカニックが何を考えているのかわからないのですが、カスタムフィルタをかなえることもできますし、インターセプタも使用することもできます。 –

+0

あなたはそれのためのいくつかの解決策を見つけることができましたか? – abhi

関連する問題