ホームページ > Java > &#&チュートリアル > Java SE APIを使用して単純なHTTPサーバーを作成するにはどうすればよいですか?

Java SE APIを使用して単純なHTTPサーバーを作成するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-12 10:28:12
オリジナル
586 人が閲覧しました

How Can I Create a Simple HTTP Server Using the Java SE API?

Java SE API を使用した HTTP サーバーの作成

Java SE には、HTTP クライアント機能用の HttpURLConnection が含まれていますが、同様のサーバー側オプションがありません。 HTTP リクエストとレスポンスの面倒な手動解析とフォーマットを回避するには、jdk.httpserver モジュールにある Java SE 6 で導入された組み込み HTTP サーバーを検討してください。

簡単な HTTP サーバーの例

ここにあります組み込みの HTTP サーバーを使用してリクエストを処理する例:

package com.example;

import java.io.IOException;
import java.io.OutputStream;
import java.net.InetSocketAddress;

import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;

public class SimpleHttpServer {

    public static void main(String[] args) throws Exception {
        HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
        server.createContext("/test", new MyHandler());
        server.setExecutor(null); // Creates a default executor
        server.start();
    }

    static class MyHandler implements HttpHandler {
        @Override
        public void handle(HttpExchange t) throws IOException {
            String response = "This is the response";
            t.sendResponseHeaders(200, response.getBytes().length); // Specify charset for getBytes()
            OutputStream os = t.getResponseBody();
            os.write(response.getBytes());
            os.close();
        }
    }

}
ログイン後にコピー

指定された URL にアクセスします(例: http://localhost:8000/test) ブラウザで応答を確認します:

This is the response
ログイン後にコピー

Using com.sun.* Classes

The com.sun. パッケージは、組み込みの Java SE API ではなく、Sun/Oracle 固有の API を使用する開発者が作成したコードに特に関係するため、使用は禁止されていません。したがって、HTTP サーバーに com.sun. クラスを利用することは、これらのクラスがすべての JDK 実装に含まれているため許容されます。

以上がJava SE APIを使用して単純なHTTPサーバーを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート