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  
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  }