0

OSGi サーブレットと HTML フロントエンドを使用したワークフローについて明確にする必要があります。私は古い学校の HTML および Javascript プログラマーであり、この OSGi、Ajax、および JQuery のすべてに慣れていません。私は独自の OSGi サーバーの実装に取り​​組んでいます。このガイドに従って、Eclipse で OSGi プラグインを作成しました: https://docs.jboss.org/author/display/AS7/Creating+a+new+OSGi+Bundle+using+Eclipse

私のサーブレットは今のところ問題なく動作しています。データベースリクエストを処理することになっています。HTML と Javascript(JQuery) を使用して Web サイトをコーディングし、そこから Ajax リクエストをサーブレットに送信します。

私の問題は、HTML/Javascript/JQuery のものを OSGi サーブレットに統合する方法がわからないことです。サーブレットバンドル内のリソースとして登録しようとしましたが、うまくいきましたが、これが非常にエレガントな方法かどうかはわかりません...同じOSGiサーバーで実行する必要がありますが、同じOSGiサーバーで実行する必要がありますか?サーブレットとしてバンドルしますか、それとも独自にバンドルしますか?

UI バンドル用に Eclipse で作成するプロジェクトの種類と、それをエクスポートする方法を教えてください。

4

2 に答える 2

0

必要なのは、Web リソース (html、javascript、および css ファイル) を URL で使用できるようにすることだけです。これは、サーブレットを使用して手動で行うことができます。Web リソースをバンドルにパッケージ化すると、BundleContext.getBundle() からそれらのリソースへの InputStream を取得できます。

より簡単な方法は、Amdatu ResourceHandler を使用することです。これはいわゆる「エクステンダー」であり、バンドルからのリソースを URL で利用できるようにすることのみを目的としています。

次のことを行う必要があります。1) リソースがバンドルにパッケージ化されていることを確認します。2) リソース X-Web-Resource-Version: 1.0 X-Web-Resource: を含むバンドルのマニフェストに 2 つのヘッダーを追加します。 path/to/resources 3) Apache Felix Whiteboard および Amdatu ResourceHandler バンドルをランタイムに追加します。

ドキュメントは、Amdatu の Web サイト( http://amdatu.org/components/web.html ) にあります (ページの下部までスクロールします)。

于 2013-05-22T18:58:14.443 に答える
0

Pax Web プロジェクトに興味があるかもしれませんが、利用可能なリソースを公開する方法のサンプルがあります。このサンプルは、Apache Felix HTTP サービスのような同様の HTTP サービスでも動作するはずですが、おそらくいくつかの微調整が必​​要です :) .

于 2013-05-23T06:30:00.260 に答える