2016-08-01 5 views
1

私は1つのDispatcherサーブレットにマップされた2つのURLを使用しているアプリケーションがあります。単一のディスパッチャーサーブレットとサーブレットのコンフィグレーションを持つ2つのURLを異なるパッケージにマッピングするにはどうすればいいですか?

<servlet> 
     <servlet-name>Default Webservice</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value> 
       /WEB-INF/spring-servlet.xml 
      </param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Default Webservice</servlet-name> 
     <url-pattern>/abc/*</url-pattern> 
     <url-pattern>/xyz/*</url-pattern> 
    </servlet-mapping> 

春servlet.xml成分スキャナを有しています。私は、パターン/abc/*のURLに、ディスパッチャーサーブレットがスキャンしているすべてのパッケージではなく、特定のパッケージのみにアクセスできるようにするために何らかの方法を必要としています。

PS:既存のURLマッピングを変更したり、新しいディスパッチャーサーブレットを作成することはできません。

+0

答えが満足すればそれを受け入れてください。 –

答えて

1

コンポーネントのスキャンがスプリングとして実行され、ディスパッチャーサーブレットが初期化され、URLのリクエストが初期化された後に実行されるため、これは起こりません。要求前にパッケージのスキャンが行われます。コンポーネントスキャンの条件

両方のURLが一緒に動作しない場合は(だけ1つのURLは、要求のためのアクティブな一度に手段).Thenは

  1. @Conditional注釈

  2. @Profile注釈の使用を見ることができます

+0

アシュワニにお返事ありがとうございます。これらのアノテーションを使用してみます。私はコントローラレベルでのリクエストをフィルタリングする以外に方法はないと思う。 – akash

+0

ええ、コントローラレベルの前にリクエストをフィルタリングするために、あなたはSpring Securityに行くことができます。私が正しく推測している場合 –

関連する問題