Class GrpcServlet

java.lang.Object
jakarta.servlet.GenericServlet
jakarta.servlet.http.HttpServlet
io.grpc.servlet.jakarta.GrpcServlet
All Implemented Interfaces:
jakarta.servlet.Servlet, jakarta.servlet.ServletConfig, Serializable

@ExperimentalApi("https://github.com/grpc/grpc-java/issues/5066") public class GrpcServlet extends jakarta.servlet.http.HttpServlet
A simple servlet backed by a gRPC server. Must set asyncSupported to true. The /contextRoot/urlPattern must match the gRPC services' path, which is "/full-service-name/short-method-name".

The API is experimental. The authors would like to know more about the real usecases. Users are welcome to provide feedback by commenting on the tracking issue.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final io.grpc.Attributes.Key<List<X509Certificate>>
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    GrpcServlet(List<? extends io.grpc.BindableService> bindableServices)
    Instantiate the servlet serving the given list of gRPC services.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    protected final void
    doGet(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
     
    protected final void
    doPost(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
     

    Methods inherited from class jakarta.servlet.http.HttpServlet

    doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service

    Methods inherited from class jakarta.servlet.GenericServlet

    getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • MTLS_CERTIFICATE_KEY

      @TransportAttr public static final io.grpc.Attributes.Key<List<X509Certificate>> MTLS_CERTIFICATE_KEY
  • Constructor Details

    • GrpcServlet

      public GrpcServlet(List<? extends io.grpc.BindableService> bindableServices)
      Instantiate the servlet serving the given list of gRPC services. ServerInterceptors can be added on each gRPC service by ServerInterceptors.intercept(BindableService, io.grpc.ServerInterceptor...)
  • Method Details

    • doGet

      protected final void doGet(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws IOException
      Overrides:
      doGet in class jakarta.servlet.http.HttpServlet
      Throws:
      IOException
    • doPost

      protected final void doPost(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws IOException
      Overrides:
      doPost in class jakarta.servlet.http.HttpServlet
      Throws:
      IOException
    • destroy

      public void destroy()
      Specified by:
      destroy in interface jakarta.servlet.Servlet
      Overrides:
      destroy in class jakarta.servlet.GenericServlet