Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/vinculum/engine/WebServer.java


1   /* * ** **  BEGIN LICENSE BLOCK * ** **
2    * Version: MPL 1.1/GPL 2.0/LGPL 2.1
3    *
4    * The contents of this file are subject to the Mozilla Public License Version 
5    * 1.1 (the "License"); you may not use this file except in compliance with 
6    * the License. You may obtain a copy of the License at 
7    * http://www.mozilla.org/MPL/
8    *
9    * Software distributed under the License is distributed on an "AS IS" basis,
10   * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11   * for the specific language governing rights and limitations under the
12   * License.
13   *
14   * The Original Code is Vinculum Open Source.
15   *
16   * The Initial Developer of the Original Code is
17   * Gerard Toonstra.
18   * Portions created by the Initial Developer are Copyright (C) 2003
19   * the Initial Developer. All Rights Reserved.
20   *
21   * Contributor(s):
22   *
23   * Alternatively, the contents of this file may be used under the terms of
24   * either the GNU General Public License Version 2 or later (the "GPL"), or
25   * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
26   * in which case the provisions of the GPL or the LGPL are applicable instead
27   * of those above. If you wish to allow use of your version of this file only
28   * under the terms of either the GPL or the LGPL, and not to allow others to
29   * use your version of this file under the terms of the MPL, indicate your
30   * decision by deleting the provisions above and replace them with the notice
31   * and other provisions required by the GPL or the LGPL. If you do not delete
32   * the provisions above, a recipient may use your version of this file under
33   * the terms of any one of the MPL, the GPL or the LGPL.
34   *
35   * ** ** * END LICENSE BLOCK * ** **
36   */
37  
38  /***************************************************************************
39                            $RCSfile: WebServer.java,v $  -  description
40                               -------------------
41      begin                : $Date: 2003/07/08 07:42:49 $
42      copyright            : Vinculum (C) 2002
43      author               : $Author: chiraz $
44   ***************************************************************************/
45  
46  /* $Log: WebServer.java,v $
47  /* Revision 1.1.1.1  2003/07/08 07:42:49  chiraz
48  /* egg
49  /* */
50  
51  package com.vinculum.engine;
52  
53  import java.io.*;
54  import java.net.*;
55  import org.mortbay.util.*;
56  import org.mortbay.http.*;
57  import org.mortbay.jetty.servlet.*;
58  import org.mortbay.http.handler.*;
59  import org.mortbay.servlet.*;
60  
61  import com.vinculum.engine.WebException;
62  
63  /**
64   * @author chilan
65   *
66   */
67  public class WebServer
68  {
69    public WebServer()
70    {
71      super();
72    }
73    
74    public static void start()
75      throws Exception
76    {
77      ServletHttpContext servletContext = null;
78      String home = null;
79      String port = null;
80      String log  = null;
81      Integer listenport = null;
82      
83      home = System.getProperty("jetty.home");
84      port = System.getProperty("jetty.port");
85      log  = System.getProperty("jetty.log");
86      
87      if ( home == null )
88      {
89        throw new WebException("No jetty.home specified in configuration file.");              
90      }
91  
92      if ( port == null )
93      {
94        throw new WebException("No jetty.port specified in configuration file.");              
95      }
96      
97      if ( log  == null )
98      {
99        throw new WebException("No jetty.log specified in configuration file.");              
100     }
101     
102     listenport = new Integer(Integer.parseInt(port));
103     
104     if ( listenport == null )
105     {
106       throw new WebException("Supplied port number is invalid.");        
107     }
108     
109     // Create the server
110     HttpServer server=new HttpServer();
111 
112     // Create a port listener
113     SocketListener listener=new SocketListener();
114     listener.setPort( listenport.intValue() );
115     server.addListener(listener);
116 
117     servletContext = new ServletHttpContext( server, "/" );
118     server.addContext( servletContext );
119     
120     //HttpContext context = server.addContext("/");
121     //servletContext = (ServletHttpContext)server.getContext("/");
122 
123     // Create a servlet container
124     ServletHandler servlets = new ServletHandler();
125     //context.addHandler(servlets);
126     servletContext.addHandler( servlets );
127     
128     // Map a servlet onto the container
129     servlets.addServlet("VCMDispatch","/VCMDispatch","com.vinculum.engine.VCMDispatch");
130 
131     servletContext.addServlet("JSP", "*.jsp", "org.apache.jasper.servlet.JspServlet");
132 
133     // Serve static content from the context
134     //context.setResourceBase( home + "/" );
135     //context.addHandler(new ResourceHandler());
136     
137     servletContext.setResourceBase( home + "/" );
138     servletContext.addHandler( new ResourceHandler() );
139 
140     // Start the http server
141     server.start();
142   }
143 }