org.benow.web.servlet
Class ServletRunner

java.lang.Object
  extended by org.benow.java.run.Application
      extended by org.benow.web.servlet.ServletRunner
All Implemented Interfaces:
java.lang.Runnable
Direct Known Subclasses:
HTTPServiceProvider, SandboxRunner, WebService

public class ServletRunner
extends org.benow.java.run.Application

A simple servlet container that uses jetty to serve pages.

Author:
andy

Nested Class Summary
 class ServletRunner.Killer
          web: org.benow.web.Killer
 
Field Summary
protected  boolean addStaticServlet
           
protected  org.benow.java.spec.argument.IntegerArgument ajpPortArg
           
protected  org.benow.java.spec.argument.Argument bindArg
           
protected  java.lang.String bindHost
           
protected  java.lang.String context
           
protected  org.benow.java.spec.argument.ArgumentContext ctx
           
protected  org.benow.java.spec.argument.Argument htmlArg
           
protected  org.benow.java.spec.argument.Argument killArg
           
protected static org.apache.log4j.Logger log
           
static java.lang.String PARAM_ACCEPT_HOSTS
           
static java.lang.String PARAM_EXT_HTTP
           
static java.lang.String PARAM_EXT_HTTPS
           
static java.lang.String PARAM_LOG_FILE
           
protected  int port
           
protected  org.benow.java.spec.argument.IntegerArgument portArg
           
protected  org.benow.java.spec.argument.ClassArgument servletClassArg
           
protected  org.benow.java.spec.argument.Argument servletNameArg
           
protected  org.benow.java.spec.argument.ArgumentSpecification spec
           
protected  org.benow.java.spec.argument.Argument sslArg
           
protected  org.benow.java.spec.argument.Argument sslKeystoreArg
           
protected  org.benow.java.spec.argument.Argument sslKeystorePasswordArg
           
protected  org.benow.java.spec.argument.IntegerArgument sslPortArg
           
protected  org.benow.java.spec.argument.Argument termArg
           
 
Fields inherited from class org.benow.java.run.Application
exit, mainClass
 
Constructor Summary
ServletRunner()
           
ServletRunner(java.lang.Class<?> servletClass)
           
ServletRunner(java.lang.Class<?> servletClass, java.lang.String desc)
           
 
Method Summary
protected  org.mortbay.jetty.servlet.ServletHolder addServlet(org.mortbay.jetty.handler.ContextHandlerCollection contexts, java.lang.Class<?> servletClass, org.mortbay.jetty.servlet.Context context, java.lang.String servletName)
           
protected  org.mortbay.jetty.servlet.ServletHolder addServlet(org.mortbay.jetty.handler.ContextHandlerCollection contexts, java.lang.Class<?> servletClass, org.mortbay.jetty.servlet.Context context, java.lang.String servletName, java.util.Map<java.lang.String,java.lang.String> initParams)
           
protected  void addServlets(org.mortbay.jetty.handler.ContextHandlerCollection contexts, org.mortbay.jetty.servlet.Context context)
          Adds the servlet(s) to the given context.
protected  void afterCreate(org.mortbay.jetty.Server server)
          override to create contexts, etc.
protected  void afterInitialized()
          Override to do something after initialization
protected  org.mortbay.jetty.Connector[] createConnectors(org.mortbay.jetty.Server server)
           
protected  org.mortbay.jetty.Server createServer()
           
static java.lang.String getBindHost()
          Get the host the current servlet runner is bound to, if any.
static java.lang.Integer getPort()
          Get the port the current servlet runner is listening on, if any.
static java.lang.Integer getSSLPort()
          Get the ssl port the current servlet runner is listening on, if any.
protected  void populateHandlers(org.mortbay.jetty.Server server, org.mortbay.jetty.handler.HandlerCollection handlers)
           
 void run(org.benow.java.spec.argument.ArgumentContext ctx)
           
protected  void setHeadless()
          Set headless for awt (java.awt.headless=true)
protected  void setIsSingleUserApplication()
           
protected  void specifyArguments(org.benow.java.spec.argument.ArgumentSpecification spec)
           
static int sslPort()
           
 
Methods inherited from class org.benow.java.run.Application
createSpecification, doMain, getBriefDescription, getUsage, main, run, run, setSpecification, showHelp, start, start
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static final org.apache.log4j.Logger log

PARAM_EXT_HTTP

public static final java.lang.String PARAM_EXT_HTTP
See Also:
Constant Field Values

PARAM_EXT_HTTPS

public static final java.lang.String PARAM_EXT_HTTPS
See Also:
Constant Field Values

PARAM_LOG_FILE

public static final java.lang.String PARAM_LOG_FILE
See Also:
Constant Field Values

PARAM_ACCEPT_HOSTS

public static final java.lang.String PARAM_ACCEPT_HOSTS
See Also:
Constant Field Values

addStaticServlet

protected boolean addStaticServlet

htmlArg

protected org.benow.java.spec.argument.Argument htmlArg

portArg

protected org.benow.java.spec.argument.IntegerArgument portArg

servletClassArg

protected org.benow.java.spec.argument.ClassArgument servletClassArg

servletNameArg

protected org.benow.java.spec.argument.Argument servletNameArg

killArg

protected org.benow.java.spec.argument.Argument killArg

termArg

protected org.benow.java.spec.argument.Argument termArg

bindArg

protected org.benow.java.spec.argument.Argument bindArg

spec

protected org.benow.java.spec.argument.ArgumentSpecification spec

ctx

protected org.benow.java.spec.argument.ArgumentContext ctx

context

protected java.lang.String context

bindHost

protected java.lang.String bindHost

sslPortArg

protected org.benow.java.spec.argument.IntegerArgument sslPortArg

sslKeystoreArg

protected org.benow.java.spec.argument.Argument sslKeystoreArg

sslKeystorePasswordArg

protected org.benow.java.spec.argument.Argument sslKeystorePasswordArg

sslArg

protected org.benow.java.spec.argument.Argument sslArg

port

protected int port

ajpPortArg

protected org.benow.java.spec.argument.IntegerArgument ajpPortArg
Constructor Detail

ServletRunner

public ServletRunner()
              throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

ServletRunner

public ServletRunner(java.lang.Class<?> servletClass)

ServletRunner

public ServletRunner(java.lang.Class<?> servletClass,
                     java.lang.String desc)
Parameters:
desc - Description
Method Detail

sslPort

public static int sslPort()
Returns:
the port in use by ssl, or -1 if ssl not in use.

specifyArguments

protected void specifyArguments(org.benow.java.spec.argument.ArgumentSpecification spec)
Overrides:
specifyArguments in class org.benow.java.run.Application

setIsSingleUserApplication

protected void setIsSingleUserApplication()

setHeadless

protected void setHeadless()
Set headless for awt (java.awt.headless=true)


run

public void run(org.benow.java.spec.argument.ArgumentContext ctx)
         throws java.lang.Exception
Specified by:
run in class org.benow.java.run.Application
Throws:
java.lang.Exception

afterInitialized

protected void afterInitialized()
                         throws java.lang.Exception
Override to do something after initialization

Throws:
java.lang.Exception

createServer

protected org.mortbay.jetty.Server createServer()
                                         throws java.lang.Exception
Throws:
java.lang.Exception

createConnectors

protected org.mortbay.jetty.Connector[] createConnectors(org.mortbay.jetty.Server server)

populateHandlers

protected void populateHandlers(org.mortbay.jetty.Server server,
                                org.mortbay.jetty.handler.HandlerCollection handlers)

addServlets

protected void addServlets(org.mortbay.jetty.handler.ContextHandlerCollection contexts,
                           org.mortbay.jetty.servlet.Context context)
Adds the servlet(s) to the given context. Usually contains repeated calls to addServlet(contexts,name,context). Override to add custom servlets.

Parameters:
contexts -
context -

addServlet

protected org.mortbay.jetty.servlet.ServletHolder addServlet(org.mortbay.jetty.handler.ContextHandlerCollection contexts,
                                                             java.lang.Class<?> servletClass,
                                                             org.mortbay.jetty.servlet.Context context,
                                                             java.lang.String servletName)

addServlet

protected org.mortbay.jetty.servlet.ServletHolder addServlet(org.mortbay.jetty.handler.ContextHandlerCollection contexts,
                                                             java.lang.Class<?> servletClass,
                                                             org.mortbay.jetty.servlet.Context context,
                                                             java.lang.String servletName,
                                                             java.util.Map<java.lang.String,java.lang.String> initParams)

afterCreate

protected void afterCreate(org.mortbay.jetty.Server server)
override to create contexts, etc. Called before servlet initialization


getBindHost

public static java.lang.String getBindHost()
Get the host the current servlet runner is bound to, if any. WARN: not multiple instance safe.


getPort

public static java.lang.Integer getPort()
Get the port the current servlet runner is listening on, if any. WARN: not multiple instance safe.


getSSLPort

public static java.lang.Integer getSSLPort()
Get the ssl port the current servlet runner is listening on, if any. WARN: not multiple instance safe.