EclipseでのJetty構成
1. 概要
Webアプリケーションは、Javaの最も一般的なユースケースの1つです。 Webサーバーとサーブレットコンテナは、アプリケーションをデプロイするためのランタイムを提供します。
残念ながら、WebサーバーへのWebアプリケーションの展開とトラブルシューティングは複雑な場合があります。 幸い、IDEはほとんどのアプリケーションに対して優れたデバッグサポートを備えています。 ただし、Webアプリケーションをデバッグするには、IDEにWebサーバーを埋め込む必要があります。
このチュートリアルでは、Eclipseに Jettyを埋め込み、その上でアプリケーションを実行してデバッグします。
2. EclipseJettyプラグイン
JettyをEclipseに接続する最も簡単な方法は、EclipseJettyプラグインを使用することです。
プラグインは、マネージドJettyサーバーをEclipseに追加します。 したがって、アプリケーションをシームレスにデプロイ、テスト、またはデバッグすることができます。 また、プラグインはサーバーを簡単に構成するためのインターフェースを提供します。
プラグインをインストールする最も簡単な方法は、Marketplaceを使用することです。 Eclipseでは、Marketplaceを使用すると、数回クリックするだけでプラグインをインストールできます。
3. サンプルアプリケーション
それでは、簡単なWebアプリケーションを開発しましょう。
まず、プロジェクトの / src / main / webapp /WEB-INFフォルダーにweb.xmlを追加しましょう。
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee/webapp_4_0.xsd"
version="4.0">
<welcome-file-list>
<welcome-file>helloworld.html</welcome-file>
</welcome-file-list>
</web-app>
簡単な静的ファイルを追加しましょう。 この場合、helloworld.htmlは次のようになります。
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Hello World</title>
</head>
<body>Hello World!</body>
</html>
web.xmlにサーブレットマッピングを追加していないことに注意してください。
代わりに、サーブレットにサーブレット3アノテーションを使用します。
@WebServlet("/helloworld")
public class HelloWorldServlet extends HttpServlet
WebServlet アノテーションを使用すると、サーブレットクラスをスキャンしてコンテナにデプロイできます。
Jettyは基本HTTPモジュールでのアノテーションをサポートしていないことに注意してください。 したがって、これを機能させるには注釈サポートモジュールを追加する必要があります。
これを行う方法については、次のセクションで説明します。
4. Jettyでのアプリケーションの実行
サーバーへのWebアプリケーションのデプロイは、ベンダーによって異なります。 EclipseJettyプラグインがこのプロセスを処理してくれます。 同様に、IDEデバッガーと統合され、開発エクスペリエンスが向上します。
場合によっては、何らかの構成でアプリケーションを実行する必要があります。 Eclipseでは、起動構成を使用してこれを行うことができます。
Jettyで実行中のアプリケーションを探す方法は次のとおりです。
アプリケーションに対して次のパラメーターを構成できます。
- コンテキストパス–アプリケーションURLのプレフィックス
- HTTPポート–アプリケーションがデプロイされているポート。デフォルトは8080です。
- HTTPSを有効にする–HTTPとともにHTTPSにデプロイする場合
- HTTPSポート–デフォルトは8443です
通常のJettyと同様に、Eclipse Jettyプラグインを使用すると、デプロイする前にアプリケーションの依存関係を管理できます。 Mavenアプリケーションの場合、サーバーから依存関係スコープを提供する場合は、依存関係スコープをクラスパスとして選択できます。
5. Jettyサーバーオプション
Jettyは、高度に構成可能なサーブレットコンテナです。 スレッドプールサイズ、シャットダウン間隔など、さまざまなパラメータを指定できます。
さらに、Jettyを使用すると、基本HTTPモジュールの上にさまざまなモジュールを追加できます。 これらは、追加できる一般的なモジュールの一部です。
- 注釈のサポート–サーブレット固有の注釈のサポートを有効にします
- JNDIサポート–JettyによるJNDIリソース管理を可能にします
- Websocketサポート–Websocketサーバーとクライアントの実装を可能にします
- JMXサポート–任意のMBeansブラウザを使用してJettyを監視できます
- JSPサポート–JettyでのJSPのコンパイルとデプロイを可能にします
これらの構成は、EclipseJettyでも可能です。 したがって、起動構成からサーバーパラメーターとモジュールを構成できます。
最後に、EclipseJetty4.0プラグインにはJetty9.3サーバーが組み込まれています。 ただし、起動構成からアプリケーションの外部Jettyサーバーを構成できます。
6. Eclipse Jetty Console
Eclipse Jettyは、いくつかの便利な制御コマンドを備えたコンソールを提供します。 このコンソールは、サーバーを管理したり、サーバーからいくつかのメトリックを収集したりするのに便利です。
起動構成でコンソールを有効にする必要があります。 有効にすると、Eclipseコンソールから制御コマンドを実行できます。
使用できる一般的なコマンドのリストを次に示します。
- メモリ–現在のアプリケーションのメモリ情報
- スレッド–実行中のアプリケーションのスレッドダンプ
- 再起動–実行中のアプリケーションを再起動します
- 停止–サーバーとサーバー上で実行されているすべてのアプリを正常に停止します
7. 結論
Eclipse Jettyプラグインは、Jettyサーバーを埋め込むことにより、アプリケーションをすばやく実行またはデバッグするための優れた方法です。 また、アプリケーションと基盤となるJettyサーバーを構成することもできます。
このチュートリアルでは、Eclipse Jettyプラグインをインストールし、アプリケーションをデプロイしました。 また、起動構成を作成し、アプリケーションとサーバーのパラメーターを提供しました。