テストアプリケーションにJettyを正常に埋め込みました。それは問題なしでファイルを提供することができます。 ここで、Jettyが独自のJarファイル内にあるファイルを処理できるかどうかを知りたいと思います。組み込みJettyがJarファイル内のファイルを探します
これが可能なら誰でも知っていますか?
テストアプリケーションにJettyを正常に埋め込みました。それは問題なしでファイルを提供することができます。 ここで、Jettyが独自のJarファイル内にあるファイルを処理できるかどうかを知りたいと思います。組み込みJettyがJarファイル内のファイルを探します
これが可能なら誰でも知っていますか?
実際にはZIPファイルではないJARファイルではありますか? (わからない)それらを一時フォルダに解凍してそこから提供できますか?
答えが見つかりました。それは桟橋ではなく、Winstoneです。 http://winstone.sf.net
例は、トリックは、あなたのクラスパスの場所にファイルのURLを作成することですhttp://docs.codehaus.org/display/JETTY/Embedding+Jetty
で桟橋埋め込むページに記載されています。
String webDir = this.class.getClassLoader().getResource("com/company/project/mywebdir").toExternalForm();
ServletContextHandler context = new ServletContextHandler();
context.setContextPath("/");
context.setResourceBase(webDir);
どのクラスがこのコードを実行するはずですか? – phtrivier
@phtrivier org.mortbay.jetty.Serverまたはorg.eclipse.jetty.server.Serverをインスタンス化するクラス。 –
'request.getRequestDispatcher(...).forward(req、resp)'がJARファイルから実行しているときに 'WEB-INF'で' .jsp'ファイルを見つけられない場合、 –
Springを方程式に投げ込むとかなり簡単です。そして、それは行く:
... WebAppContext webAppContext = new WebAppContext(); webAppContext.setServer(server); webAppContext.setContextPath("/"); webAppContext.setResourceBase(new ClassPathResource("webapp").getURI().toString()); server.addHandler(webAppContext); ....
これは、jettyがjarファイル内に必要なWebリソースを見つけるようになります。
私はできますが、簡単にするために、Jar内に自己完結型のWebアプリケーションが必要です。 :) – LaSombra
実際にjettyはwebappフォルダを設定しようとするとこれを内部的に行います。 – fd8s0