View Javadoc

1   //========================================================================
2   //Copyright 2006 Mort Bay Consulting Pty. Ltd.
3   //------------------------------------------------------------------------
4   //Licensed under the Apache License, Version 2.0 (the "License");
5   //you may not use this file except in compliance with the License.
6   //You may obtain a copy of the License at
7   //http://www.apache.org/licenses/LICENSE-2.0
8   //Unless required by applicable law or agreed to in writing, software
9   //distributed under the License is distributed on an "AS IS" BASIS,
10  //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11  //See the License for the specific language governing permissions and
12  //limitations under the License.
13  //========================================================================
14  
15  package org.mortbay.jetty.example;
16  
17  import java.io.IOException;
18  import javax.servlet.ServletException;
19  import javax.servlet.http.HttpServlet;
20  import javax.servlet.http.HttpServletRequest;
21  import javax.servlet.http.HttpServletResponse;
22  
23  import org.mortbay.jetty.Server;
24  import org.mortbay.jetty.handler.ContextHandlerCollection;
25  import org.mortbay.jetty.handler.StatisticsHandler;
26  import org.mortbay.jetty.servlet.Context;
27  import org.mortbay.jetty.servlet.ServletHolder;
28  
29  public class ManyServletContexts
30  {
31      public static void main(String[] args)
32          throws Exception
33      {
34          Server server = new Server(8080);
35  
36          ContextHandlerCollection contexts = new ContextHandlerCollection();
37          server.setHandler(contexts);
38  
39          Context root = new Context(contexts,"/",Context.SESSIONS);
40          root.addServlet(new ServletHolder(new HelloServlet("Ciao")), "/*");
41  
42          Context other = new Context(contexts,"/other",Context.SESSIONS);
43          other.addServlet("org.mortbay.jetty.example.ManyServletContexts$HelloServlet", "/*");
44  
45          StatisticsHandler stats = new StatisticsHandler();
46          contexts.addHandler(stats);
47          Context yetanother =new Context(stats,"/yo",Context.SESSIONS);
48          yetanother.addServlet(new ServletHolder(new HelloServlet("YO!")), "/*");
49  
50          server.start();
51          server.join();
52      }
53  
54      public static class HelloServlet extends HttpServlet
55      {
56          String greeting="Hello";
57          public HelloServlet()
58          {}
59  
60          public HelloServlet(String hi)
61          {greeting=hi;}
62  
63          protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
64          {
65              response.setContentType("text/html");
66              response.setStatus(HttpServletResponse.SC_OK);
67              response.getWriter().println("<h1>"+greeting+" SimpleServlet</h1>");
68              response.getWriter().println("session="+request.getSession(true).getId());
69          }
70      }
71  }