1

Dispatcher サーブレットが静的ファイルにのみ使用される Spring Web アプリがあります。JavaScript からの API 呼び出し用の Jersey サーブレットもあり、別の URL パターンにマップされていますが、私の問題にはあまり関係ありません。

現時点では、ディスパッチャー構成全体が次のようになっています。

@Configuration
@EnableWebMvc
public class DispatcherConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**").addResourceLocations(
                "classpath:/www/");
    }
}

私のクラスパスのmain.htmlすぐ下にファイルがあります。wwwに対する要求が届いた場合/main.html、ファイルは正しく提供されます。偉大な。

今、私はこの同じファイルがリクエストに対して返されることを望ん//partおり、他のパスもたくさんあります。基本的に、ここである種のパスのエイリアス、またはパスからファイルへの直接マッピングが必要です。どうすれば達成できますか?

4

1 に答える 1

1

defaultコンテナのサーブレットを使用して、次のものを提供できますstatic resources

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>

パスからファイルへのマッピングは、次のように定義できます。

@Configuration
@EnableWebMvc
public class DispatcherConfig extends WebMvcConfigurerAdapter {
...

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/pathToStatic").setViewName("/static.html");
    }
...

}

上記のマッピングは、リクエストを/pathToStatic静的ビューに転送しますstatic.html

于 2013-09-30T15:03:45.903 に答える