--- title: "Embedded Jetty" url: https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/java/embedded-jetty/ description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: 2026-02-23T12:39:41Z service: Serverless type: general --- # 埋め込みJettyを使用したシンプルなJavaアプリ この例では、[Jettyサーバー](https://docs.oracle.com/cd/E19199-01/816-6774-10/a_war.html)を埋め込んだシンプルなJavaアプリを構築する手順を説明します。Eclipse Jettyは、軽量なJava Webサーバーであり、サーブレットコンテナでもあります。このアプリケーションをコンパイル、バンドルし、Java SEタイプとしてAppSailサービスに関連付け、コンソールにデプロイします。 1. 任意のIDEから新しいJavaプロジェクトを作成します。 2. ソースディレクトリに以下のライブラリを含めます。この例では、新しいフォルダを作成してdepsという名前を付けています。これらのJARファイルには、Jettyサーバーをアプリケーションに埋め込むためのすべてのサーブレット、ユーティリティファイル、その他の依存関係が含まれています。これらの依存関係は[公式Mavenリポジトリ](https://mvnrepository.com/)から取得できます。Maven依存関係として追加することもできます。 ```json javax.servlet-api-3.1.0.jar jetty-io-9.4.50.v20221201.jar jetty-server-9.4.50.v20221201.jar jetty-util-9.4.50.v20221201.jar jetty-http-9.4.50.v20221201.jar jetty-security-9.4.50.v20221201.jar jetty-servlet-9.4.50.v20221201.jar jetty-util-ajax-9.4.50.v20221201.jar ``` 3. 埋め込みJettyアプリケーションを作成するには、org.eclipse.jetty.server.Serverクラスのインスタンスを作成し、メインコードで環境変数`X_ZOHO_CATALYST_LISTEN_PORT`を使用して[リッスンポート](https://docs.catalyst.zoho.com/ja/serverless/help/appsail/key-concepts/appsail-execution/#default-port-for-app-startups)を参照する必要があります。これらのリクエストを処理するためにサーブレットハンドラーを追加する必要があります。メインディレクトリに以下のJavaファイルを作成し、以下のサンプルコードスニペットを追加します: **CustomJettyServer.java** ```java import org.eclipse.jetty.server.Server; import org.eclipse.jetty.servlet.ServletContextHandler; public class CustomJettyServer { public static void main( String[] args ) throws Exception { String port = System.getenv("X_ZOHO_CATALYST_LISTEN_PORT"); int listenPort; if(port != null && !port.isEmpty()) { listenPort = Integer.parseInt(System.getenv("X_ZOHO_CATALYST_LISTEN_PORT")); } else { listenPort = 9000; } Server server = new Server(listenPort); ServletContextHandler handler = new ServletContextHandler(); handler.addServlet(ServletHandler.class.getName(), "/"); server.setHandler(handler); server.start(); } } ``` **ServletHandler.java** ```java import java.io.IOException; import java.nio.charset.StandardCharsets; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ServletHandler extends HttpServlet{ @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String path = req.getServletPath(); System.out.println(path); try { resp.getWriter().write("Hello ABC"); resp.getWriter().close(); } catch (Exception e) { e.printStackTrace(); } } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @Override protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @Override protected void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @Override protected void doHead(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } @Override protected void doOptions(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } } ``` 4. 以下のコマンドを実行してアプリケーションをコンパイルします: ```json javac -cp ".:./*:./deps/*" *.java ``` 5. CLIから同じディレクトリで[AppSailサービスを初期化](https://docs.catalyst.zoho.com/ja/cli/v1/initialize-resources/initialize-appsail/)するか、既存のプロジェクトディレクトリに[追加](https://docs.catalyst.zoho.com/ja/cli/v1/add-appsail/)できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack:** Java 8 **Platform:** Java SE 6. depsフォルダ内のJARファイルとともに、コンパイル済みファイルが初期化時に指定したビルドディレクトリに追加されていることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 7. コンソールに[アプリサービスをデプロイ](https://docs.catalyst.zoho.com/ja/cli/v1/deploy-resources/deploy-appsail//)します。 8. コンソールから以下の[スタートアップコマンド](https://docs.catalyst.zoho.com/ja/serverless/help/appsail/key-concepts/appsail-execution/#startup-commands)を設定できます: ```java java -cp ".:./*:./deps/*" *.java ``` デプロイ前に`app-config.json`ファイルでも設定できます。 デプロイされたアプリサービスには、その[エンドポイントURL](https://docs.catalyst.zoho.com/ja/serverless/help/appsail/key-concepts/appsail-execution/#custom-domain-url)からアクセスできます。