Package org.restlet.ext.servlet
Class ServletAdapter
- java.lang.Object
-
- org.restlet.engine.adapter.Adapter
-
- org.restlet.engine.adapter.ServerAdapter
-
- org.restlet.ext.servlet.internal.ServletServerAdapter
-
- org.restlet.ext.servlet.ServletAdapter
-
public class ServletAdapter extends org.restlet.ext.servlet.internal.ServletServerAdapter
HTTP adapter from Servlet calls to Restlet calls. This class can be used in any Servlet, just create a new instance and override the service() method in your Servlet to delegate all those calls to this class's service() method. Remember to set the nextRestlet
, for example using aRouter
instance. You can get the Restlet context directly on instances of this class, it will be based on the parent Servlet's context for logging purpose.
This class is especially useful when directly integrating Restlets with Spring managed Web applications. Here is a simple usage example:public class TestServlet extends HttpServlet { private ServletAdapter adapter; public void init() throws ServletException { super.init(); this.adapter = new ServletAdapter(getServletContext()); Restlet trace = new Restlet(this.adapter.getContext()) { public void handle(Request req, Response res) { getLogger().info("Hello World"); res.setEntity("Hello World!", MediaType.TEXT_PLAIN); } }; this.adapter.setNext(trace); } protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { this.adapter.service(req, res); } }
- Author:
- Jerome Louvel
-
-
Constructor Summary
Constructors Constructor Description ServletAdapter(javax.servlet.ServletContext context)
Constructor.ServletAdapter(javax.servlet.ServletContext context, org.restlet.Restlet next)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.restlet.data.Reference
getBaseRef(javax.servlet.http.HttpServletRequest request)
Returns the base reference of new Restlet requests.org.restlet.Restlet
getNext()
Returns the next Restlet.org.restlet.data.Reference
getRootRef(javax.servlet.http.HttpServletRequest request)
Returns the root reference of new Restlet requests.void
service(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Services a HTTP Servlet request as a Restlet request handled by the "target" Restlet.void
setNext(org.restlet.Restlet next)
Sets the next Restlet.
-
-
-
Constructor Detail
-
ServletAdapter
public ServletAdapter(javax.servlet.ServletContext context)
Constructor. Remember to manually set the "target" property before invoking the service() method.- Parameters:
context
- The Servlet context.
-
ServletAdapter
public ServletAdapter(javax.servlet.ServletContext context, org.restlet.Restlet next)
Constructor.- Parameters:
context
- The Servlet context.next
- The next Restlet.
-
-
Method Detail
-
getBaseRef
public org.restlet.data.Reference getBaseRef(javax.servlet.http.HttpServletRequest request)
Returns the base reference of new Restlet requests.- Parameters:
request
- The Servlet request.- Returns:
- The base reference of new Restlet requests.
-
getNext
public org.restlet.Restlet getNext()
Returns the next Restlet.- Returns:
- The next Restlet.
-
getRootRef
public org.restlet.data.Reference getRootRef(javax.servlet.http.HttpServletRequest request)
Returns the root reference of new Restlet requests. By default it returns the result of getBaseRef().- Parameters:
request
- The Servlet request.- Returns:
- The root reference of new Restlet requests.
-
service
public void service(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Services a HTTP Servlet request as a Restlet request handled by the "target" Restlet.- Parameters:
request
- The HTTP Servlet request.response
- The HTTP Servlet response.
-
setNext
public void setNext(org.restlet.Restlet next)
Sets the next Restlet.- Parameters:
next
- The next Restlet.
-
-