1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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.handler.ContextHandler;
25 import org.eclipse.jetty.server.handler.ContextHandlerCollection;
26 import org.eclipse.jetty.server.nio.SelectChannelConnector;
27
28
29
30
31
32
33
34
35 public class ManyContexts
36 {
37 public final static String BODY=
38 "<a href='/'>root context</a><br/>"+
39 "<a href='http://127.0.0.1:8080/context'>normal context</a><br/>"+
40 "<a href='http://127.0.0.2:8080/context'>virtual context</a><br/>";
41
42 public static void main(String[] args) throws Exception
43 {
44 Server server = new Server();
45 Connector connector = new SelectChannelConnector();
46 connector.setPort(8080);
47 server.setConnectors(new Connector[]
48 { connector });
49
50 ContextHandler context0 = new ContextHandler();
51 context0.setContextPath("/");
52 Handler handler0 = new HelloHandler("Root Context",BODY);
53 context0.setHandler(handler0);
54
55 ContextHandler context1 = new ContextHandler();
56 context1.setContextPath("/context");
57 Handler handler1 = new HelloHandler("A Context",BODY);
58 context1.setHandler(handler1);
59
60 ContextHandler context2 = new ContextHandler();
61 context2.setContextPath("/context");
62 context2.setVirtualHosts(new String[]
63 { "127.0.0.2" });
64 Handler handler2 = new HelloHandler("A Virtual Context",BODY);
65 context2.setHandler(handler2);
66
67 ContextHandlerCollection contexts = new ContextHandlerCollection();
68 contexts.setHandlers(new Handler[]
69 { context0, context1, context2 });
70
71 server.setHandler(contexts);
72
73 server.start();
74 System.err.println(server.dump());
75 server.join();
76 }
77
78 }