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  }