JWEBSERVER(1)
β¨ NAME β¨ β JWEBSERVER(1) from JDK Commands
Okay so welcome to JWEBSERVER(1), bestie! This is the manual for jwebserver β the little command that launches the Java Simple Web Server. Think minimal HTTP server, main character energy, literally made for prototyping, testing, and debugging. π
It serves a single directory hierarchy, and only serves static files. Only HTTP/1.1 is supported; HTTP/2 and HTTPS are not supported. No cap.
Only idempotent HEAD and GET requests are served. Any other requests receive a 501 - Not Implemented or a 405 - Not Allowed response. GET requests are mapped to the directory being served, as follows:
- If the requested resource is a file, its content is served. π
- If the requested resource is a directory that contains an index file, the content of the index file is served. π¦
- Otherwise, the names of all files and subdirectories of the directory are listed. Symbolic links and hidden files are not listed or served. π
MIME types are configured automatically, using the built-in table. For example, .html files are served as text/html and .java files are served as text/plain. Slay. π
jwebserver is located in the jdk.httpserver module, and can alternatively be started with java -m jdk.httpserver. It is based on the web server implementation in the com.sun.net.httpserver package. The com.sun.net.httpserver.SimpleFileServer class provides a programmatic way to retrieve the server and its components for reuse and extension. Iconic. π
π SYNOPSIS π
jwebserver [options]
options
Command-line options. For a detailed description of the options,
see Options.
π USAGE π
jwebserver [-b bind address] [-p port] [-d directory]
[-o none|info|verbose] [-h to show options]
[-version to show version information]
π οΈ OPTIONS π οΈ
-h,-?, or--helpβ Prints the help message and exits. π«Ά-baddr or--bind-addressaddr β Specifies the address to bind to. Default:127.0.0.1or::1(loopback). For all interfaces use-b 0.0.0.0or-b ::. π-ddir or--directorydir β Specifies the directory to serve. Default: current directory. π-olevel or--outputlevel β Specifies the output format.none|info|verbose. Default:info. π¬-pport or--portport β Specifies the port to listen on. Default:8000. π₯-versionor--versionβ Prints the version information and exits. β
To stop the server, press Ctrl + C. π
πΈ STARTING THE SERVER πΈ
The following command starts the Simple Web Server:
$ jwebserver
If startup is successful, the server prints a message to System.out listing the local address and the absolute path of the directory being served. For example:
$ jwebserver
Binding to loopback by default. For all interfaces use "-b 0.0.0.0" or "-b ::".
Serving /cwd and subdirectories on 127.0.0.1 port 8000
URL http://127.0.0.1:8000/
π¦ CONFIGURATION π¦
By default, the server runs in the foreground and binds to the loopback address and port 8000. This can be changed with the -b and -p options. For example, to bind the Simple Web Server to all interfaces, use:
$ jwebserver -b 0.0.0.0
Serving /cwd and subdirectories on 0.0.0.0 (all interfaces) port 8000
URL http://123.456.7.891:8000/
Note that this makes the web server accessible to all hosts on the network. Do not do this unless you are sure the server cannot leak any sensitive information. π¨
As another example, use the following command to run on port 9000:
$ jwebserver -p 9000
By default, the files of the current directory are served. A different directory can be specified with the -d option. π
By default, every request is logged on the console. The output looks like this:
127.0.0.1 - - [10/Feb/2021:14:34:11 +0000] "GET /some/subdirectory/ HTTP/1.1" 200 -
Logging output can be changed with the -o option. The default setting is info. The verbose setting additionally includes the request and response headers as well as the absolute path of the requested resource. π
π STOPPING THE SERVER π
Once started successfully, the server runs until it is stopped. On Unix platforms, the server can be stopped by sending it a SIGINT signal (Ctrl+C in a terminal window). Periodt. π
π HELP OPTION π
The -h option displays a help message describing the usage and the options of the jwebserver. π«Ά
Catch you later, bestie! This page is from JDK 25.0.5.0.3, dated 2026, and itβs the JWEBSERVER(1) manual β mwah! πβ¨π
π¦ where this page comes from
- arch rolling: jdk25-openjdk 25.0.5.0.3.u1-1 Β· LicenseRef-Java
- arch rolling: jre25-openjdk 25.0.5.0.3.u1-1 Β· LicenseRef-Java
- arch rolling: jre25-openjdk-headless 25.0.5.0.3.u1-1 Β· LicenseRef-Java
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms