0

既存の Java アプリケーションがあり、Vaadin を使用して Web UI を公開したいと考えています。依存関係の管理に Maven を使用しています。

Vaadin のドキュメントでは、war ファイル レイアウトの使用が推奨されていますが、コードベースを標準の War 形式に再配置する必要はありません。

war ディレクトリ構造を気にせずに、Jetty サーバーをプログラムで起動し、サーブレットを提供する方法はありますか?

main() メソッドからサーブレットを提供する方法を示すサンプル コードは、ここで非常に役立ちます。

または、ここで Jetty 以外のものがうまく機能する場合は、それを知っておくとよいでしょう。

4

1 に答える 1

2

jetty を使用して単純な HTTP サーバー インプロセスをセットアップするのは非常に簡単です。

final Server httpServer = new Server(18080);
httpServer.setHandler(new AbstractHandler() {

    @Override
    public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
                response.getWriter().write("This is the HTTP response");            
    }
});
httpServer.start();

これは、jetty 8.1.8 に基づいていることに注意してください。上記のコードはサーブレットを使用していませんが、任意のフレームワークに簡単に接続できます。

サーブレットが本当に必要な場合 (既に用意されている可能性があります) 、独自のハンドラーの代わりにJetty のServletContextHandlerクラスを使用してください。

于 2013-10-10T08:04:58.947 に答える