Module jdk.httpserver

Class HttpServerProvider

java.lang.Object
com.sun.net.httpserver.spi.HttpServerProvider

public abstract class HttpServerProvider extends Object
HttpServer的服务提供者类。HttpServerProvider的子类提供了HttpServer及其相关类的实现。应用程序通常不使用此类。查看provider()以了解如何查找和加载提供者。
  • Constructor Details

    • HttpServerProvider

      protected HttpServerProvider()
      初始化此类的新实例。
      抛出:
      SecurityException - 如果安装了安全管理器并且拒绝RuntimePermission("httpServerProvider")
  • Method Details

    • createHttpServer

      public abstract HttpServer createHttpServer(InetSocketAddress addr, int backlog) throws IOException
      从此提供者创建一个HttpServer
      参数:
      addr - 要绑定到的地址。可能为null
      backlog - 套接字的积压。值为零表示系统默认值
      返回:
      一个HttpServer实例
      抛出:
      IOException - 如果发生I/O错误
    • createHttpsServer

      public abstract HttpsServer createHttpsServer(InetSocketAddress addr, int backlog) throws IOException
      从此提供者创建一个HttpsServer
      参数:
      addr - 要绑定到的地址。可能为null
      backlog - 套接字的积压。值为零表示系统默认值
      返回:
      一个HttpServer实例
      抛出:
      IOException - 如果发生I/O错误
    • provider

      public static HttpServerProvider provider()
      返回此Java虚拟机调用的系统范围默认的HttpServerProvider。

      此方法的第一次调用如下定位默认提供者对象:

      1. 如果系统属性com.sun.net.httpserver.HttpServerProvider已定义,则将其视为具体提供者类的完全限定名称。加载并实例化该类;如果此过程失败,则会抛出未指定的未经检查的错误或异常。

      2. 如果已在对系统类加载器可见的jar文件中安装了提供者类,并且该jar文件包含一个名为com.sun.net.httpserver.HttpServerProvider的提供者配置文件,位于资源目录META-INF/services中,则取该文件中指定的第一个类名。加载并实例化该类;如果此过程失败,则会抛出未指定的未经检查的错误或异常。

      3. 最后,如果没有通过上述任何方式指定提供者,则实例化系统默认提供者类并返回结果。

      此方法的后续调用将返回第一次调用返回的提供者。

      返回:
      系统范围默认的HttpServerProvider