1 //
2 // ========================================================================
3 // Copyright (c) 1995-2013 Mort Bay Consulting Pty. Ltd.
4 // ------------------------------------------------------------------------
5 // All rights reserved. This program and the accompanying materials
6 // are made available under the terms of the Eclipse Public License v1.0
7 // and Apache License v2.0 which accompanies this distribution.
8 //
9 // The Eclipse Public License is available at
10 // http://www.eclipse.org/legal/epl-v10.html
11 //
12 // The Apache License v2.0 is available at
13 // http://www.opensource.org/licenses/apache2.0.php
14 //
15 // You may elect to redistribute this code under either of these licenses.
16 // ========================================================================
17 //
18
19 package org.eclipse.jetty.embedded;
20
21 import org.eclipse.jetty.server.Handler;
22 import org.eclipse.jetty.server.Server;
23 import org.eclipse.jetty.server.handler.DefaultHandler;
24 import org.eclipse.jetty.server.handler.HandlerList;
25 import org.eclipse.jetty.server.handler.ResourceHandler;
26 import org.eclipse.jetty.util.log.Log;
27 import org.eclipse.jetty.util.log.Logger;
28
29 /* ------------------------------------------------------------ */
30 /** Simple Jetty FileServer.
31 * This is a simple example of Jetty configured as a FileServer.
32 *
33 * File server Usage - java org.eclipse.jetty.server.example.FileServer [ port [
34 * docroot ]]
35 *
36 * @see FileServerXml for the equivalent example done in XML configuration.
37 * @author gregw
38 *
39 */
40 public class FileServer
41 {
42 private static final Logger LOG = Log.getLogger(FileServer.class);
43
44 public static void main(String[] args) throws Exception
45 {
46 Server server = new Server(args.length == 0?8080:Integer.parseInt(args[0]));
47
48 ResourceHandler resource_handler = new ResourceHandler();
49 resource_handler.setDirectoriesListed(true);
50 resource_handler.setWelcomeFiles(new String[]{ "index.html" });
51
52 resource_handler.setResourceBase(args.length == 2?args[1]:".");
53 LOG.info("serving " + resource_handler.getBaseResource());
54
55 HandlerList handlers = new HandlerList();
56 handlers.setHandlers(new Handler[] { resource_handler, new DefaultHandler() });
57 server.setHandler(handlers);
58
59 server.start();
60 server.join();
61 }
62
63 }