View Javadoc

1   // ========================================================================
2   // Copyright (c) 2006-2009 Mort Bay Consulting Pty. Ltd.
3   // ------------------------------------------------------------------------
4   // All rights reserved. This program and the accompanying materials
5   // are made available under the terms of the Eclipse Public License v1.0
6   // and Apache License v2.0 which accompanies this distribution.
7   // The Eclipse Public License is available at 
8   // http://www.eclipse.org/legal/epl-v10.html
9   // The Apache License v2.0 is available at
10  // http://www.opensource.org/licenses/apache2.0.php
11  // You may elect to redistribute this code under either of these licenses. 
12  // ========================================================================
13  
14  package org.eclipse.jetty.embedded;
15  
16  
17  
18  import java.lang.management.ManagementFactory;
19  
20  import org.eclipse.jetty.jmx.MBeanContainer;
21  import org.eclipse.jetty.server.Server;
22  import org.eclipse.jetty.server.handler.ContextHandlerCollection;
23  import org.eclipse.jetty.servlet.DefaultServlet;
24  import org.eclipse.jetty.servlet.ServletContextHandler;
25  import org.eclipse.jetty.servlet.ServletHolder;
26  import org.eclipse.jetty.util.log.Log;
27  
28  public class ManyServletContexts
29  {
30      public static void main(String[] args) throws Exception
31      {
32          Server server = new Server(8080);
33  
34          // Setup JMX
35          MBeanContainer mbContainer=new MBeanContainer(ManagementFactory.getPlatformMBeanServer());
36          server.getContainer().addEventListener(mbContainer);
37          server.addBean(mbContainer);
38          mbContainer.addBean(Log.getLog());
39  
40          ContextHandlerCollection contexts = new ContextHandlerCollection();
41          server.setHandler(contexts);
42  
43          ServletContextHandler root = new ServletContextHandler(contexts,"/",ServletContextHandler.SESSIONS);
44          root.addServlet(new ServletHolder(new HelloServlet("Hello")),"/");
45          root.addServlet(new ServletHolder(new HelloServlet("Ciao")),"/it/*");
46          root.addServlet(new ServletHolder(new HelloServlet("Bonjoir")),"/fr/*");
47  
48          ServletContextHandler other = new ServletContextHandler(contexts,"/other",ServletContextHandler.SESSIONS);
49          other.addServlet(DefaultServlet.class.getCanonicalName(),"/");
50          other.addServlet(new ServletHolder(new HelloServlet("YO!")),"*.yo");
51  
52          server.start();
53          System.err.println(server.dump());
54          server.join();
55      }
56  }