Eclipse Remote Application Platform

org.eclipse.rap.rwt.service
Interface ServiceHandler

All Known Subinterfaces:
IServiceHandler

public interface ServiceHandler

A service handler can be used to process custom requests, e.g. to deliver files, images or other content to the client. Service handlers are called in the user's session scope, i.e. they can access session information. They can be implemented like servlets, i.e. they can access headers and parameters from the request object and write the result into the response writer or output stream.

Implementations can be registered with the ServiceManager or in an ApplicationConfiguration. Once registered, a service handler can be accessed by a URL with a specific parameter. This URL can be obtained by ServiceManager.getServiceHandlerUrl(String). Example:

 RWT.getServiceManager().registerServiceHandler( "download", new MyServiceHandler() );
 String url = RWT.getServiceManager().getServiceHandlerUrl( "download" );
 

Since:
2.0
See Also:
ServiceManager

Method Summary
 void service(HttpServletRequest request, HttpServletResponse response)
          This method is called by the framework when a request for a service handler is received by the client.
 

Method Detail

service

void service(HttpServletRequest request,
             HttpServletResponse response)
             throws java.io.IOException,
                    ServletException
This method is called by the framework when a request for a service handler is received by the client. Implementations can access information of the request and write their output to the response object. Before writing content, the content type and encoding should be set.

Parameters:
request - the request that has been received from the client
response - the response that will be sent to the client
Throws:
java.io.IOException
ServletException

Eclipse Remote Application Platform

Copyright (c) EclipseSource and others 2002, 2013. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0