Package org.eclipse.rap.rwt.service

# Interface ServiceHandler

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

Modifier and Type
Method
Description
`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 Details

### service

void service(HttpServletRequest request, HttpServletResponse response) throws 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:
  `IOException`
  `ServletException`
Since:
  4.0