0

ブラウザでJavaプロセスによって生成されたデータをレンダリングする良い方法は何ですか?

私は、JSP と関連するさまざまなフレームワーク ( JSTLStrutsTapestryなど) と、JSP に関連しないより包括的なフレームワーク ( GWTOpenLaszlo ) を広範囲に使用しました。完全に満足のいく解決策はありませんでした。ほとんどの場合、フレームワークは私のニーズに対して制約が多すぎたり複雑すぎたりしますが、既存のコードの大規模なリファクタリングが必要になる場合もあります。さらに、ほとんどのフレームワークにはパフォーマンスの問題があるようです。

現在、JSON を返す単純なサーブレットを介して Java データを公開し、PHP または Ruby を使用してデータをレンダリングするソリューションに傾倒しています。これには、自分のサービスを Web サービスとして即座に公開するという追加の利点もありますが、ここで車輪を再発明するのではないかと考えています。

4

4 に答える 4

2

私は個人的に、Java で Web ページを作成するためにTapestry 5を使用していますが、少しやり過ぎになる場合があることに同意します。JAX-RS ( java.net projectjsr311 ) の使用を検討します。使用は非常に簡単で、すぐに使用できる XML との間のオブジェクトのマーシャリングとアンマーシャリングをサポートしています。Jettisonを介して JSON をサポートするように拡張することができます。

私が試した2つの実装があります:

  • Jersey - JAX-RS の参照実装。
  • Resteasy - 私が好む実装で、さまざまな形式のマーシャリングとアンマーシャリングを適切にサポートしています。また、非常に安定しており、Jersey よりも多くの機能を備えています。

次のコードを見て、JAX-RS で何ができるかを感じてください。

@Path("/")
class TestClass {
    @GET
    @Path("text")
    @Produces("text/plain")
    String getText() {
        return "String value";
    }
}

この小さなクラスは、サーバーのルート (クラスの @Path) で自身を公開し、URI /text で getText() メソッドを公開し、HTTP GET 経由でアクセスできるようにします。@Produces アノテーションは、JAX-RS フレームワークに、メソッドの結果をプレーン テキストに変換するように指示します。

JAX-RS で何ができるかを知る最も簡単な方法は、仕様を読むことです。

于 2008-09-17T20:11:41.613 に答える
1

Stripesを使用しています。単純なサーブレットよりも多くの構造が得られますが、@UrlBinding アノテーションを使用して URL を制御できます。これを使用して、xml と json をブラウザにストリーミングし、ajax 用に戻します。

その道を進みたい場合は、別のテクノロジで簡単に使用できますが、実際にはストライプでの開発を楽しむことができます.

于 2008-09-17T15:04:21.023 に答える
1

ドメイン モデルを REST サービス (JSON および簡単な XML 出力を含む) として公開するための優れたフレームワークについては、Restletを確認してください。

情報をレンダリングするために、クライアント側で GWT を使用して、データ サービスを利用することはできますか? GWT がボートを浮かせない場合、JQuery はそうするでしょうか?

于 2008-09-17T15:04:23.427 に答える
0

おそらく、データを XML として生成し、XSLT を使用してレンダリングできますか?

Java が十分に高速でない場合、PHP や Ruby が答えになるかどうかはわかりません。

于 2008-09-17T15:04:00.637 に答える