|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.servlet.GenericServlet
javax.servlet.http.HttpServlet
com.noelios.restlet.ext.servlet.ServerServlet
public class ServerServlet
Servlet acting like an HTTP server connector. See Developper FAQ #2 for details on how to
integrate a Restlet application into a servlet container.
Initially designed to deploy a single Restlet Application, this Servlet can
now deploy a complete Restlet Component. This allows you to reuse an existing
standalone Restlet Component, potentially containing several applications,
and declaring client connectors, for example for the CLAP, FILE or HTTP
protocols.
There are three separate ways to configure the deployment using this Servlet.
They are described below by order of priority:
Mode | Description |
---|---|
1 | If a "/WEB-INF/restlet.xml" file exists and contains a valid XML
configuration as described in the documentation of the Component
class. It is used to instantiate and attach the described component,
contained applications and connectors. |
2 | If the "/WEB-INF/web.xml" file contains a context parameter named
"org.restlet.component", its value must be the path of a class that inherits
from Component . It is used to instantiate and attach the described
component, contained applications and connectors. |
3 | If the "/WEB-INF/web.xml" file contains a context parameter named
"org.restlet.application", its value must be the path of a class that
inherits from Application . It is used to instantiate the application
and to attach it to a default Restlet Component. |
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>Restlet adapter</display-name> <!-- Your component class name (Optional - For mode 2) --> <context-param> <param-name>org.restlet.component</param-name> <param-value>com.mycompany.MyComponent</param-value> </context-param> <!-- Your application class name (Optional - For mode 3) --> <context-param> <param-name>org.restlet.application</param-name> <param-value>com.mycompany.MyApplication</param-value> </context-param> <!-- List of supported client protocols (Optional - Only in mode 3) --> <context-param> <param-name>org.restlet.clients</param-name> <param-value>HTTP HTTPS FILE</param-value> </context-param> <!-- Add the Servlet context path to the routes (Optional - true by default) --> <context-param> <param-name>org.restlet.autoWire</param-name> <param-value>true</param-value> </context-param> <!-- Restlet adapter (Mandatory) --> <servlet> <servlet-name>ServerServlet</servlet-name> <servlet-class>com.noelios.restlet.ext.servlet.ServerServlet</servlet-class> </servlet> <!-- Catch all requests (Mandatory) --> <servlet-mapping> <servlet-name>ServerServlet</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>Note that the enumeration of "initParameters" of your Servlet will be copied to the "context.parameters" property of your Restlet Application. This way, you can pass additional initialization parameters to your application, and maybe share them with other Servlets.
Constructor Summary | |
---|---|
ServerServlet()
Constructor. |
Method Summary | |
---|---|
protected Application |
createApplication(Context parentContext)
Creates the single Application used by this Servlet. |
protected HttpServerCall |
createCall(Server server,
HttpServletRequest request,
HttpServletResponse response)
Creates a new Servlet call wrapping a Servlet request/response couple and a Server connector. |
protected Component |
createComponent()
Creates the single Component used by this Servlet. |
protected HttpServerHelper |
createServer(HttpServletRequest request)
Creates the associated HTTP server handling calls. |
protected Client |
createWarClient(Context context,
ServletConfig config)
Creates a new client for the WAR protocol. |
void |
destroy()
|
Application |
getApplication()
Returns the application. |
Component |
getComponent()
Returns the component. |
java.lang.String |
getInitParameter(java.lang.String name,
java.lang.String defaultValue)
Returns the value of a given initialization parameter, first from the Servlet configuration, then from the Web Application context. |
HttpServerHelper |
getServer(HttpServletRequest request)
Returns the associated HTTP server handling calls. |
void |
init()
|
protected java.lang.Class<?> |
loadClass(java.lang.String className)
Returns a class for a given qualified class name. |
void |
service(HttpServletRequest request,
HttpServletResponse response)
Services a HTTP Servlet request as an uniform call. |
Methods inherited from class javax.servlet.http.HttpServlet |
---|
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service |
Methods inherited from class javax.servlet.GenericServlet |
---|
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ServerServlet()
Method Detail |
---|
protected Application createApplication(Context parentContext)
parentContext
- The parent component context.
protected HttpServerCall createCall(Server server, HttpServletRequest request, HttpServletResponse response)
server
- The Server connector.request
- The Servlet request.response
- The Servlet response.
protected Component createComponent()
protected HttpServerHelper createServer(HttpServletRequest request)
request
- The HTTP Servlet request.
protected Client createWarClient(Context context, ServletConfig config)
context
- The parent context.config
- The Servlet config.
public void destroy()
destroy
in interface Servlet
destroy
in class GenericServlet
public Application getApplication()
public Component getComponent()
public java.lang.String getInitParameter(java.lang.String name, java.lang.String defaultValue)
name
- The parameter name.defaultValue
- The default to use in case the parameter is not found.
public HttpServerHelper getServer(HttpServletRequest request)
request
- The HTTP Servlet request.
public void init() throws ServletException
init
in class GenericServlet
ServletException
protected java.lang.Class<?> loadClass(java.lang.String className) throws java.lang.ClassNotFoundException
className
- The class name to lookup.
java.lang.ClassNotFoundException
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException
service
in class HttpServlet
request
- The HTTP Servlet request.response
- The HTTP Servlet response.
ServletException
java.io.IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |