java.lang.Object
com.sun.net.httpserver.HttpServer
com.sun.net.httpserver.HttpsServer
这个类是HttpServer的扩展,提供了对HTTPS的支持。
HttpsServer
必须有一个关联的HttpsConfigurator
对象,用于为SSL连接建立SSL配置。
所有其他配置与HttpServer
相同。
- 自版本:
- 1.6
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic HttpsServer
create()
创建一个HttpsServer
实例,最初未绑定到任何本地地址/端口。static HttpsServer
create
(InetSocketAddress addr, int backlog) 创建一个HttpsServer
实例,将绑定到指定的InetSocketAddress
(IP地址和端口号)。static HttpsServer
create
(InetSocketAddress addr, int backlog, String path, HttpHandler handler, Filter... filters) 创建一个带有初始上下文的HttpsServer
实例。abstract HttpsConfigurator
获取此服务器的HttpsConfigurator
对象,如果已设置。abstract void
设置此服务器的HttpsConfigurator
对象。Methods declared in class com.sun.net.httpserver.HttpServer
bind, createContext, createContext, getAddress, getExecutor, removeContext, removeContext, setExecutor, start, stop
-
Constructor Details
-
HttpsServer
protected HttpsServer()子类调用的构造函数。
-
-
Method Details
-
create
创建一个HttpsServer
实例,最初未绑定到任何本地地址/端口。服务器是从当前安装的HttpServerProvider
获取的。必须在使用之前使用HttpServer.bind(InetSocketAddress,int)
绑定服务器。服务器还必须使用setHttpsConfigurator(HttpsConfigurator)
建立HttpsConfigurator
。- 返回:
-
HttpsServer
的实例 - 抛出:
-
IOException
- 如果发生I/O错误
-
create
创建一个HttpsServer
实例,将绑定到指定的InetSocketAddress
(IP地址和端口号)。还可以指定最大的backlog。这是允许在监听套接字上排队的传入连接的最大数量。超过此限制的排队TCP连接可能会被TCP实现拒绝。服务器是从当前安装的HttpServerProvider
获取的。服务器必须使用setHttpsConfigurator(HttpsConfigurator)
建立HttpsConfigurator
。- 参数:
-
addr
- 要监听的地址,如果为null
,则必须调用HttpServer.bind(InetSocketAddress,int)
来设置地址 -
backlog
- socket的backlog。如果此值小于或等于零,则使用系统默认值。 - 返回:
-
HttpsServer
的实例 - 抛出:
-
BindException
- 如果服务器无法绑定到请求的地址,或者服务器已经绑定 -
IOException
- 如果发生I/O错误
-
create
public static HttpsServer create(InetSocketAddress addr, int backlog, String path, HttpHandler handler, Filter... filters) throws IOException 创建一个带有初始上下文的HttpsServer
实例。服务器创建时带有一个初始上下文,将URI
path
映射到交换handler
。初始上下文的创建就像通过调用createContext(path)
一样。如果有任何filters
,则按给定的顺序将其添加到初始上下文中。返回的服务器尚未启动,因此可以根据需要进一步配置。服务器实例将绑定到给定的
InetSocketAddress
。还可以指定最大的backlog。这是允许在监听套接字上排队的传入连接的最大数量。超过此限制的排队TCP连接可能会被TCP实现拒绝。HttpsServer是从当前安装的
HttpServerProvider
获取的。服务器必须使用
setHttpsConfigurator(HttpsConfigurator)
建立HttpsConfigurator。- 参数:
-
addr
- 要监听的地址,如果为null
,则必须调用bind
来设置地址 -
backlog
- socket的backlog。如果此值小于或等于零,则使用系统默认值 -
path
- 上下文的根URI路径,必须是绝对的 -
handler
- 上下文的HttpHandler -
filters
- 上下文的Filters,可选 - 返回:
- HttpsServer
- 抛出:
-
BindException
- 如果服务器无法绑定到地址 -
IOException
- 如果发生I/O错误 -
IllegalArgumentException
- 如果路径无效 -
NullPointerException
- 如果任何一个:path
,handler
,filters
,或filters
的任何元素为null
- 自版本:
- 18
-
setHttpsConfigurator
设置此服务器的HttpsConfigurator
对象。- 参数:
-
config
- 要设置的HttpsConfigurator
- 抛出:
-
NullPointerException
- 如果config为null
-
getHttpsConfigurator
获取此服务器的HttpsConfigurator
对象,如果已设置。- 返回:
-
此服务器的
HttpsConfigurator
对象,如果未设置则返回null
-