2016-06-29 4 views
2

私は、Eclipse 1.7を使用してEclipse Mars 2で複数のWebアプリケーションを開発しています。私はMavenを使ってファイルをビルドし、jboss(WildFly)プラグインを使ってそれらをテストします。それぞれはweb.xmlを使用し、ロジックの90%を共有します。彼らはすべて春を使用して、彼らはすべて同じセッションの設定、同じフィルタを使用します。違いは、権限のチェックとセキュリティの役割です。すべてのwebappプロジェクトで使用するマスターweb.xml

最近更新が必要でした。すべてのweb.xmlを個別に更新する必要がありました。私はすべての一般的なロジックを格納している "web.xml"親またはマスターファイルを定義するためのソリューションを探しています。そして、小さな特定の部分を注入します。どのようなオプションがありますか?

答えて

1

私はあなたができる限りweb.xmlから、クラスのアノテーションに移動します。

import javax.servlet.Filter; 
import javax.servlet.annotation.WebFilter; 
import javax.servlet.annotation.WebInitParam; 

@WebFilter(filterName = "TimeOfDayFilter", 
urlPatterns = {"/*"}, 
initParams = { 
    @WebInitParam(name = "mood", value = "awake")}) 
public class TimeOfDayFilter implements Filter { 

このように

hereから取られた)、あなたにweb.xmlに行われている伝統的な設定の多くを移動しました:たとえば、フィルタに、あなたのような何かを行うことができますJavaクラスサーブレットでも同じことができます。

これは必ずしも正しい答えではありません。たとえば、フィルタでは、web.xmlを使用している場合はしか注文できません(つまり、一連のフィルタがあります)。しかし、より多くの方がweb.xmlをより使いやすくすることができます。

+0

フィルタの順序について:すべてのフィルタが実行されていますが、順序はサーブレットコンテナによってランダム/決定されていますか?それとも、1つのフィルタだけが実行されるということですか?後者の場合はどちらですか? – user1884155

+0

順序は不確定です - web.xmlフィルタは、宣言された順序で実行されます。注釈は、ランダムです。 – stdunbar

+0

私はアノテーションに切り替えるのはいいスタートですね、ありがとう。 – user1884155

関連する問題