Java 18’s Simple Web Server simplifies hosting static files and more through an easy-to-use command-line tool and API.
One of the most practical additions in Java 18, released in March 2022, is the Simple Web Server. This feature provides an easy way to set up and configure a basic HTTP file server, and it comes with an API that extends the existing httpserver
package for building straightforward use cases. Whether you’re a developer needing to quickly serve files or wanting to explore HTTP server functionalities without complex setups, the Simple Web Server is a handy tool to have.
For those who are familiar with Python’s SimpleHTTPServer
, Java’s Simple Web Server
provides a similar utility. You can start this server using the command-line tool jwebserver
. This command simplifies the process of running a web server, making it as easy as typing a single command.
To begin, ensure that you have Java 18 or later installed on your system. You can verify your Java version by running java --version
in your terminal. If you find yourself juggling multiple Java versions, SDKMan is a recommended tool for managing JDK installations. It allows you to switch between versions effortlessly and keep your development environment well-organized.
Once you have the correct version of Java, you can launch the Simple Web Server with minimal configuration. The basic command to start the server is jwebserver --port PORT_NUMBER --root DIRECTORY_PATH
. Here, PORT_NUMBER
specifies the port on which the server will listen, and DIRECTORY_PATH
indicates the directory to serve files from. For example, running jwebserver --port 8080 --root /path/to/your/files
will start the server on port 8080 and serve files from the specified directory.
In addition to the command-line tool, Java 18’s Simple Web Server also provides an API for more advanced use cases. This API allows developers to integrate HTTP server capabilities into their Java applications programmatically. By extending the httpserver
package, you can build custom handlers and configure server settings directly within your code.
Overall, the Simple Web Server in Java 18 is a valuable feature for developers who need a straightforward solution for serving files and exploring HTTP server functionalities. Its ease of use, coupled with the flexibility of the API, makes it a versatile tool for a variety of development scenarios.