从Jetty中的Web应用程序外的文件夹中提供文件

Far*_*rna 7 web-services jetty static-files java-ee

我在Jetty服务器上有一个Java Web应用程序(Eclipse/OSGI).我希望能够从Web根目录之外的文件夹向我的Web应用程序提供静态文件.在我的Web应用程序中,我还不知道我想要提供的文件的文件名,因此我想在启动Web应用程序时将文件名(和/或路径)作为VM参数.例如:

我有一个图像 - myImg.jpg - 我把它放在服务器文件系统的一个文件夹中,例如root/images/myImg.jpg.我想将此作为VM参数,例如"-DmyImg =/images/myImg.jpg /",以便我可以获取图像并将其显示在我的网页上.我怎么能做到这一点?我可以不创建新的Servlet吗?

在此先感谢您的帮助!

Far*_*rna 11

解决了!

这是我添加到jetty.xml文件中的内容:

<Set name="handler">
    <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
        <Set name="handlers">
            <Array type="org.eclipse.jetty.server.Handler">
                <Item>
                    <New class="org.eclipse.jetty.server.handler.ContextHandler">
                        <Set name="contextPath">/myContextPath</Set>
                        <Set name="handler">
                            <New class="org.eclipse.jetty.server.handler.ResourceHandler">
                                <Set name="directoriesListed">false</Set>
                                <Set name="resourceBase">/actual/folder/on/file/system</Set>
                            </New>
                        </Set>
                    </New>
                </Item>
                [...other handlers...]
            </Array>
        </Set>
    </New>
</Set>
Run Code Online (Sandbox Code Playgroud)