Java18 introduced a Simple web server class and command line tool to start and run a web server.
It has limited support for serving static files such as HTML, javascript, and images and does not support CGI or Servlets.
It is not a full-fledged webserver to replace commercially available web servers. It just provides a webserver with development, testing, and ad-hoc applications.
Webserver Limitations
It supports HTTP HEAD and gets requests All the other requests give an error message “501 - Not Implemented or a 405 - Not Allowed response” Supports HTTP/1.1, and does not support HTTPS.
How to create a Simple Web Server with a command line
With JDK18 installed, You can open Commandline.
Run the below command to Start a Simple web server
$ Jwebserver
URL: http://127.0.0.1:8000/
It starts the web server and prints a message with the Hostname and port number. The default port is 8000
You can change the port using -p option below
Jwebserver -p 8100
Similarly, You can change the hostname using the -b option as given below
jwebserver -b 0.0.0.0
Static files are accessible, and these are served from the current directory.
You can change the directory using the -d
option.
Create a web server with Java API
Here is an JEP about this feature.