4.6. シンプルな Web サーバー
Red Hat build of OpenJDK 21 には、シンプルな Web サーバーを起動するために使用できる jwebserver
コマンドラインツールが含まれています。この機能の目的は、特に教育目的でのプロトタイピング、アドホックコーディング、テストをサポートすることです。
jwebserver
ツールは HTTP 1.1 プロトコルをサポートし、静的ファイルのみを提供します。シンプルな Web サーバーは安全な HTTPS プロトコルをサポートしていないため、実稼働サービスには適していません。
シンプルな Web サーバーを実行するには、次のコマンドを使用できます。
jwebserver
$ jwebserver
デフォルトでは、ファイルは現在のディレクトリーから提供されます。要求されたリソースがインデックスファイルを含むディレクトリーである場合、インデックスファイルが提供されます。
この機能には、jwebserver
ツールに加えて、HTTP ヘッダーを返すために使用できる拡張リクエスト処理をサポートする API も含まれています。
以下に例を示します。
jshell> var h = HttpHandlers.handleOrElse(r -> r.getRequestMethod().equals("PUT"), ...> new SomePutHandler(), new SomeHandler()); jshell> var f = Filter.adaptRequest("Add Foo header", r -> r.with("Foo", List.of("Bar"))); jshell> var s = HttpServer.create(new InetSocketAddress(8080), ...> 10, "/", h, f); jshell> s.start();
jshell> var h = HttpHandlers.handleOrElse(r -> r.getRequestMethod().equals("PUT"),
...> new SomePutHandler(), new SomeHandler());
jshell> var f = Filter.adaptRequest("Add Foo header", r -> r.with("Foo", List.of("Bar")));
jshell> var s = HttpServer.create(new InetSocketAddress(8080),
...> 10, "/", h, f);
jshell> s.start();
詳細は、JEP 408: Simple Web Server を参照してください。