Open In App

How to Set Up a Basic HTTP Server in Java?

Last Updated : 21 Feb, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

In Java, setting up a basic HTTP server involves creating an application that listens for incoming HTTP requests and responses. In this article, we will discuss how to set up a basic HTTP server in Java.

Implementation Steps to Set Up a Basic HTTP Server

  • Step 1: Create an HttpServer instance.
  • Step 2: Create a context and set the handler.
  • Step 3: Start the server.
  • Step 4: Handle the request.

Program to Set up a Basic HTTP Server in Java

Below is the Program to Set up a Basic HTTP Server in Java:

Java




// Java Program to Set up a Basic HTTP Server
import com.sun.net.httpserver.HttpServer;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpExchange;
 
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetSocketAddress;
 
// Driver Class
public class SimpleHttpServer
{
    // Main Method
    public static void main(String[] args) throws IOException
    {
        // Create an HttpServer instance
        HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
 
        // Create a context for a specific path and set the handler
        server.createContext("/", new MyHandler());
 
        // Start the server
        server.setExecutor(null); // Use the default executor
        server.start();
 
        System.out.println("Server is running on port 8000");
    }
 
    // define a custom HttpHandler
    static class MyHandler implements HttpHandler {
        @Override
        public void handle(HttpExchange exchange) throws IOException
        {
            // handle the request
            String response = "Hello, this is a simple HTTP server response!";
            exchange.sendResponseHeaders(200, response.length());
            OutputStream os = exchange.getResponseBody();
            os.write(response.getBytes());
            os.close();
        }
    }
}


Output:

Below the terminal output is showing that the server is running on port number 8000.

Output

Response:

Below we can see the response in browser.

Response in Browser

Explanation of the Code:

  • The above program is the example of the set up a basic HTTP server that can be runs into the port number 8000.
  • It can be develop using HttpServer then the create the instance of the HttpServer after that assign the port number using InetSocketAddress.
  • Then create the new handler once completed the configuration add the response text then start the server.


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads