| // ======================================================================== |
| // Copyright (c) 1995-2017 Mort Bay Consulting Pty. Ltd. |
| // ======================================================================== |
| // All rights reserved. This program and the accompanying materials |
| // are made available under the terms of the Eclipse Public License v1.0 |
| // and Apache License v2.0 which accompanies this distribution. |
| // |
| // The Eclipse Public License is available at |
| // http://www.eclipse.org/legal/epl-v10.html |
| // |
| // The Apache License v2.0 is available at |
| // http://www.opensource.org/licenses/apache2.0.php |
| // |
| // You may elect to redistribute this code under either of these licenses. |
| // ======================================================================== |
| |
| [[resource-handler]] |
| === Resource Handler |
| |
| [[resource-handler-metadata]] |
| ==== Info |
| |
| * Classname: `org.eclipse.jetty.server.handler.ResourceHandler` |
| * Maven Artifact: org.eclipse.jetty:jetty-server |
| * Javadoc: {JDURL}/org/eclipse/jetty/server/handler/ResourceHandler.html |
| * Xref: {JXURL}/org/eclipse/jetty/server/handler/ResourceHandler.html |
| |
| [[resource-handler-usage]] |
| ==== Usage |
| |
| This handler will serve static content and handle If-Modified-Since headers and is suitable for simple serving of static content. |
| |
| ____ |
| [IMPORTANT] |
| There is no caching done with this handler, so if you are looking for a more fully featured way of serving static content look to the xref:default-servlet[]. |
| ____ |
| |
| ____ |
| [NOTE] |
| Requests for resources that do not exist are let pass (Eg no 404's). |
| ____ |
| |
| ==== Improving the Look and Feel |
| |
| The resource handler has a default stylesheet which you can change by calling `setStyleSheet(String location)` with the location of a file on the system that it can locate through the resource loading system. |
| The default css is called `jetty-dir.css` and is located in the `jetty-util` package, pulled as a classpath resource from the `jetty-util` jar when requested through the `ResourceHandler`. |
| |
| ==== Embedded Example |
| |
| The following is an example of a split fileserver, able to serve static content from multiple directory locations. |
| Since this handler does not return 404's on content you are able to iteratively try multiple resource handlers to resolve content. |
| |
| [source, java, subs="{sub-order}"] |
| ---- |
| include::{SRCDIR}/examples/embedded/src/main/java/org/eclipse/jetty/embedded/SplitFileServer.java[] |
| ---- |