-
-
Save DrSnowbird/e827a41def6cdbb414cc6f16d95fb49a to your computer and use it in GitHub Desktop.
Create File Server With Jetty
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// ======================================================================== | |
// Copyright (c) 1995-2015 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. | |
// ======================================================================== | |
// http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/plain/examples/embedded/src/main/java/org/eclipse/jetty/embedded/FileServer.java | |
import org.eclipse.jetty.server.Handler; | |
import org.eclipse.jetty.server.Server; | |
import org.eclipse.jetty.server.handler.DefaultHandler; | |
import org.eclipse.jetty.server.handler.HandlerList; | |
import org.eclipse.jetty.server.handler.ResourceHandler; | |
/** | |
* Simple Jetty FileServer. | |
* This is a simple example of Jetty configured as a FileServer. | |
*/ | |
public class FileServer { | |
public static void main(String[] args) throws Exception { | |
// Create a basic Jetty server object that will listen on port 8080. Note that if you set this to port 0 | |
// then a randomly available port will be assigned that you can either look in the logs for the port, | |
// or programmatically obtain it for use in test cases. | |
Server server = new Server(8080); | |
// Create the ResourceHandler. It is the object that will actually handle the request for a given file. It is | |
// a Jetty Handler object so it is suitable for chaining with other handlers as you will see in other examples. | |
ResourceHandler resource_handler = new ResourceHandler(); | |
// Configure the ResourceHandler. Setting the resource base indicates where the files should be served out of. | |
// In this example it is the current directory but it can be configured to anything that the jvm has access to. | |
resource_handler.setDirectoriesListed(true); | |
resource_handler.setWelcomeFiles(new String[]{"index.html"}); | |
resource_handler.setResourceBase("src"); | |
// Add the ResourceHandler to the server. | |
HandlerList handlers = new HandlerList(); | |
handlers.setHandlers(new Handler[]{resource_handler, new DefaultHandler()}); | |
server.setHandler(handlers); | |
// Start things up! By using the server.join() the server thread will join with the current thread. | |
// See "http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Thread.html#join()" for more details. | |
server.start(); | |
server.join(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment