View Javadoc

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.Connector;
22  import org.eclipse.jetty.server.Handler;
23  import org.eclipse.jetty.server.Server;
24  import org.eclipse.jetty.server.ServerConnector;
25  import org.eclipse.jetty.server.handler.ContextHandler;
26  import org.eclipse.jetty.server.handler.ContextHandlerCollection;
27  import org.eclipse.jetty.server.handler.ResourceHandler;
28  import org.eclipse.jetty.toolchain.test.MavenTestingUtils;
29  import org.eclipse.jetty.util.resource.Resource;
30  
31  /* ------------------------------------------------------------ */
32  /**
33   * A {@link ContextHandlerCollection} handler may be used to direct a request to
34   * a specific Context. The URI path prefix and optional virtual host is used to
35   * select the context.
36   * 
37   */
38  public class SplitFileServer
39  {
40          
41      public static void main(String[] args) throws Exception
42      {
43          Server server = new Server();
44          ServerConnector connector = new ServerConnector(server);
45          connector.setPort(8090);
46          server.setConnectors(new Connector[]
47          { connector });
48  
49          ContextHandler context0 = new ContextHandler();
50          context0.setContextPath("/");
51          ResourceHandler rh0 = new ResourceHandler();
52          rh0.setBaseResource( Resource.newResource(MavenTestingUtils.getTestResourceDir("dir0")));
53          context0.setHandler(rh0);
54  
55          ContextHandler context1 = new ContextHandler();
56          context1.setContextPath("/");   
57          ResourceHandler rh1 = new ResourceHandler();
58          rh1.setBaseResource( Resource.newResource(MavenTestingUtils.getTestResourceDir("dir1")));
59          context1.setHandler(rh1);
60        
61          ContextHandlerCollection contexts = new ContextHandlerCollection();
62          contexts.setHandlers(new Handler[]
63          { context0, context1 });
64  
65          server.setHandler(contexts);
66  
67          server.start();
68          System.err.println(server.dump());
69          server.join();
70      }
71  }