dwww Home | Manual pages | Find package

JWEBSERVER(1)                    JDK Commands                    JWEBSERVER(1)

NAME
       jwebserver - launch the Java Simple Web Server

SYNOPSIS
       jwebserver [options]

       options
              Command-line  options.   For  a  detailed description of the op-
              tions, see Options.

DESCRIPTION
       The jwebserver tool provides a minimal HTTP server, designed to be used
       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.

       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.

       jwebserver is located in the jdk.httpserver module,  and  can  alterna-
       tively  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.

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 -? or --help
              Prints the help message and exits.

       -b addr or --bind-address addr
              Specifies the address to bind to.   Default:  127.0.0.1  or  ::1
              (loopback).  For all interfaces use -b 0.0.0.0 or -b ::.

       -d dir or --directory dir
              Specifies the directory to serve.  Default: current directory.

       -o level or --output level
              Specifies  the  output format.  none | info | verbose.  Default:
              info.

       -p port or --port port
              Specifies the port to listen on.  Default: 8000.

       -version or --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 net-
       work.   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 re-
       sponse 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).

HELP OPTION
       The -h option displays a help message describing the usage and the  op-
       tions of the jwebserver.

JDK 21                               2023                        JWEBSERVER(1)

Generated by dwww version 1.15 on Sat Jun 29 02:21:10 CEST 2024.