3

Jetty 9.x で特定のパスのディレクトリ参照をプログラムで有効にすることは可能ですか (「はい」の場合はどのように)?

4

2 に答える 2

3

ディレクトリ参照を有効にして Jetty インスタンスをプログラムで作成するには、静的コンテンツ用のResourceHandlerを作成してsetDirectoriesListedを true に設定するか、明示的に を作成して を構成しますDefaultServlet。以下は、 を作成して構成する例ですResourceHandler

ResourceHandler staticResource = new ResourceHandler();
staticResource.setDirectoriesListed(true);
staticResource.setWelcomeFiles(new String[] { "index.html" });
staticResource.setResourceBase("/path/to/your/files");

ContextHandler staticContextHandler = new ContextHandler();
staticContextHandler.setContextPath("/*");
staticContextHandler.setHandler(staticResource);

Server server = new Server(8080);
server.setHandler(staticContextHandler);
于 2014-11-10T18:18:48.807 に答える
3

Web Application Deployment Descriptor ( web.xml) の (プログラムではなく) 構成を介してディレクトリ ブラウジングを構成する場合は、 を構成する必要がありますDefaultServlet。次に例を示します。

<servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
    <init-param>
        <param-name>resourceBase</param-name>
        <param-value>/path/to/your/static/files</param-value>
    </init-param>
    <init-param>
        <param-name>dirAllowed</param-name>
        <param-value>true</param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/path/to/serve/content/on/*</url-pattern>
</servlet-mapping>

詳細および追加の構成オプションについては、http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/servlet/DefaultServlet.htmlを参照してください。

于 2014-11-12T18:06:10.383 に答える