名称
jwebserver - 启动Java简单Web服务器
概要
jwebserver
[选项]
- 选项
- 命令行选项。有关选项的详细描述,请参阅选项。
描述
jwebserver
工具提供了一个最小的HTTP服务器,旨在用于原型设计、测试和调试。它仅服务于单个目录结构,并且仅提供静态文件。仅支持HTTP/1.1;不支持HTTP/2和HTTPS。
仅服务于幂等的HEAD和GET请求。任何其他请求都会收到501 - 未实现
或405 - 不允许
的响应。GET请求映射到正在服务的目录,如下所示:
- 如果请求的资源是文件,则提供其内容。
- 如果请求的资源是包含索引文件的目录,则提供索引文件的内容。
- 否则,列出目录的所有文件和子目录的名称。符号链接和隐藏文件不会被列出或提供。
MIME类型会自动配置,使用内置表。例如,.html
文件会作为text/html
提供,.java
文件会作为text/plain
提供。
jwebserver
位于jdk.httpserver模块中,也可以使用java -m jdk.httpserver
启动。它基于com.sun.net.httpserver
包中的Web服务器实现。com.sun.net.httpserver.SimpleFileServer
类提供了一种以编程方式检索服务器及其组件以便重用和扩展的方法。
用法
jwebserver [-b 绑定地址] [-p 端口] [-d 目录]
[-o none|info|verbose] [-h 显示选项]
[-version 显示版本信息]
选项
-
-h
或-?
或--help
- 显示帮助消息并退出。
-
-b
地址 或--bind-address
地址 -
指定要绑定的地址。默认值:127.0.0.1或::1(回环)。要使用所有接口,请使用
-b 0.0.0.0
或-b ::
。 -
-d
目录 或--directory
目录 - 指定要提供的目录。默认值:当前目录。
-
-o
级别 或--output
级别 -
指定输出格式。
none
|info
|verbose
。默认值:info
。 -
-p
端口 或--port
端口 - 指定要侦听的端口。默认值:8000。
-
-version
或--version
- 显示版本信息并退出。
Ctrl + C
。
启动服务器
以下命令启动简单Web服务器:
$ jwebserver
System.out
打印一条消息,列出本地地址和正在提供的目录的绝对路径。例如:
$ jwebserver
默认绑定到回环。要使用所有接口,请使用“-b 0.0.0.0”或“-b ::”。
在127.0.0.1端口8000上提供/cwd和子目录
URL http://127.0.0.1:8000/
配置
-b
和
-p
选项更改这一设置。例如,要将简单Web服务器绑定到所有接口,请使用:
$ jwebserver -b 0.0.0.0
在0.0.0.0(所有接口)端口8000上提供/cwd和子目录
URL http://123.456.7.891:8000/
除非您确定服务器不会泄露任何敏感信息,否则不要这样做。
$ jwebserver -p 9000
-d
选项指定不同的目录。
127.0.0.1 - - [10/Feb/2021:14:34:11 +0000] "GET /some/subdirectory/ HTTP/1.1" 200 -
-o
选项更改日志输出。默认设置为
info
。
verbose
设置还包括请求和响应标头以及请求资源的绝对路径。
停止服务器
SIGINT
信号(在终端窗口中按
Ctrl+C
)来停止服务器。
帮助选项
-h
选项显示描述jwebserver
的用法和选项的帮助消息。