1

web.xmlに次のSpringMVCWebアプリケーションがあります。

<filter>
    <filter-name>foo</filter-name>
    <filter-class>bar.foo</filter-class>
    <init-param>
        <param-name>yada</param-name>
        <param-value>baz</param-value>
        <description>fooz.</description>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>foo</filter-name>
    <url-pattern>*.htm</url-pattern>
</filter-mapping>

これは、実稼働環境での実行にはまったく問題ありませんが、ローカルマシンで開発している間は問題ありません。

アクティブなビルドプロファイルに応じて有効または無効になるように、たとえばMavenプロパティを設定する方法はありますか?

4

1 に答える 1

3

フィルタのコード自体でチェックを実行するだけです。

private boolean disabled;

@Override
public void init(FilterConfig config) throws ServletException {
    disabled = lookupSomeEnvironmentVariableAndReturnBooleanAccordingly();
}

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    if (disabled) {
        chain.doFilter(request, response);
        return;
    }

    // Original code here.
    // ...
}

Mavenは、プロファイルごとに環境変数を設定できます

于 2012-10-31T12:52:54.537 に答える