1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package org.mortbay.jetty.example;
16
17 import java.io.IOException;
18
19 import javax.servlet.ServletException;
20 import javax.servlet.http.HttpServlet;
21 import javax.servlet.http.HttpServletRequest;
22 import javax.servlet.http.HttpServletResponse;
23
24 import org.mortbay.jetty.Handler;
25 import org.mortbay.jetty.HandlerContainer;
26 import org.mortbay.jetty.Server;
27 import org.mortbay.jetty.handler.ContextHandlerCollection;
28 import org.mortbay.jetty.handler.HandlerCollection;
29 import org.mortbay.jetty.handler.StatisticsHandler;
30 import org.mortbay.jetty.servlet.Context;
31 import org.mortbay.jetty.servlet.ServletHolder;
32
33 public class ManyServletContexts
34 {
35 public static void main(String[] args)
36 throws Exception
37 {
38 Server server = new Server(8080);
39
40 ContextHandlerCollection contexts = new ContextHandlerCollection();
41 server.setHandler(contexts);
42
43 Context root = new Context(contexts,"/",Context.SESSIONS);
44 root.addServlet(new ServletHolder(new HelloServlet("Ciao")), "/*");
45
46 Context other = new Context(contexts,"/other",Context.SESSIONS);
47 other.addServlet("org.mortbay.jetty.example.ManyServletContexts$HelloServlet", "/*");
48
49 StatisticsHandler stats = new StatisticsHandler();
50 contexts.addHandler(stats);
51 Context yetanother =new Context(stats,"/yo",Context.SESSIONS);
52 yetanother.addServlet(new ServletHolder(new HelloServlet("YO!")), "/*");
53
54 server.start();
55 server.join();
56 }
57
58 public static class HelloServlet extends HttpServlet
59 {
60 String greeting="Hello";
61 public HelloServlet()
62 {}
63
64 public HelloServlet(String hi)
65 {greeting=hi;}
66
67 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
68 {
69 response.setContentType("text/html");
70 response.setStatus(HttpServletResponse.SC_OK);
71 response.getWriter().println("<h1>"+greeting+" SimpleServlet</h1>");
72 response.getWriter().println("session="+request.getSession(true).getId());
73 }
74 }
75 }