Class WebSocketServlet
- java.lang.Object
-
- javax.servlet.GenericServlet
-
- javax.servlet.http.HttpServlet
-
- org.eclipse.jetty.websocket.servlet.WebSocketServlet
-
- All Implemented Interfaces:
java.io.Serializable
,javax.servlet.Servlet
,javax.servlet.ServletConfig
- Direct Known Subclasses:
WebSocketServer.EchoServlet
public abstract class WebSocketServlet extends javax.servlet.http.HttpServlet
Abstract Servlet used to bridge the Servlet API to the WebSocket API.To use this servlet, you will be required to register your websockets with the
WebSocketServletFactory
so that it can create your websockets under the appropriate conditions.The most basic implementation would be as follows.
package my.example; import org.eclipse.jetty.websocket.servlet.WebSocketServlet; import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory; public class MyEchoServlet extends WebSocketServlet { @Override public void configure(WebSocketServletFactory factory) { // set a 10 second idle timeout factory.getPolicy().setIdleTimeout(10000); // register my socket factory.register(MyEchoSocket.class); } }
Note: that only request that conforms to a "WebSocket: Upgrade" handshake request will trigger theWebSocketServletFactory
handling of creating WebSockets.
All other requests are treated as normal servlet requests.Configuration / Init-Parameters:
Note: If you use the@WebSocket
annotation, these configuration settings can be specified on a per WebSocket basis, vs a per Servlet basis.- maxIdleTime
- set the time in ms that a websocket may be idle before closing
- maxTextMessageSize
- set the size in UTF-8 bytes that a websocket may be accept as a Text Message before closing
- maxBinaryMessageSize
- set the size in bytes that a websocket may be accept as a Binary Message before closing
- inputBufferSize
- set the size in bytes of the buffer used to read raw bytes from the network layer
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description WebSocketServlet()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
configure(WebSocketServletFactory factory)
void
destroy()
void
init()
protected void
service(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
-
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
-
-
-
-
Method Detail
-
configure
public abstract void configure(WebSocketServletFactory factory)
-
destroy
public void destroy()
- Specified by:
destroy
in interfacejavax.servlet.Servlet
- Overrides:
destroy
in classjavax.servlet.GenericServlet
-
init
public void init() throws javax.servlet.ServletException
- Overrides:
init
in classjavax.servlet.GenericServlet
- Throws:
javax.servlet.ServletException
- See Also:
GenericServlet.init()
-
service
protected void service(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException
- Overrides:
service
in classjavax.servlet.http.HttpServlet
- Throws:
javax.servlet.ServletException
java.io.IOException
- See Also:
HttpServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
-
-