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  }