0

構成ファイルに基づいてモジュールを動的にロードするアプリケーションを作成しています。各モジュールには、独自のサーブレットと独自のパスがあります。

それは機能しますが、これまでのところ@Path、プロパティのおかげで、クラス (残りのサービス) で注釈を付けたコンテンツのみを提供していServerProperties.PROVIDER_PACKAGESます:

環境:

    ServletContextHandler context = new ServletContextHandler( ServletContextHandler.SESSIONS );
    context.setContextPath( "/" );

各モジュール/サーブレットは次のように初期化されます。

    ServletHolder jerseyServlet = context.addServlet( org.glassfish.jersey.servlet.ServletContainer.class, "/" );
    jerseyServlet.setInitOrder( 0 );
    jerseyServlet.setInitParameter( ServerProperties.PROVIDER_PACKAGES, "com.my.packages.rest.server.root" );

これにより、モジュールごとの URL パスが得られます。すばらしいです。

しかし、各モジュールのresource/modulenameフォルダーにもいくつかの静的htmlがありますが、これを提供する方法がわかりません...

DefaultServlet を使用すると、次のようにできます。

    DefaultServlet defaultServlet = new DefaultServlet();
    ServletHolder staticAppServlet = new ServletHolder( "default", defaultServlet );
    staticAppServlet.setInitParameter( "resourceBase", "./src/main/resources/modulename/" );
    context.addServlet( staticAppServlet, "/path" );

しかし、桟橋でそれを行う方法がわかりませんServletHolder

何か案が?

4

1 に答える 1