2011-06-22 30 views
0

私は内部アプリケーションのためにJavaで単純なRPCサーバーを試作しています。URLをJavaのリクエストハンドラにマップする最も簡単な方法

最終的には、MessagePack、Apache Avro、または0mqへのJavaバインディングなどの特殊な高性能RPCライブラリに切り替えることを望んでいますが、今はできるだけシンプルにしたいと思いますHTTP経由のJSONから始まります。 Jettyを使用してWebサーバーを埋め込み、インストールと展開をできるだけ簡単にすることができます。しかし、私はJava webdevの経験があまりなく、特定のURLに少数の特定のリクエストハンドラオブジェクトを関連付ける非常に単純な課題に苦しんでいます。私の一般的な印象は、これはweb.xmlファイルが使用される種類のものかもしれませんが、可能であれば、ソースコードに接続したいと思っています。

私は、セッション、テンプレート、データベースアクセスなどの興味深いWebアプリケーション機能は必要ないと強調する必要があります。POSTリクエスト本体からJSON文字列を取得し、処理してから文字列を応答。

基本的には、要求本体を大文字と小文字にそれぞれ戻し、それらをパス "/ upper"と "/ lower"に登録する2つの要求ハンドラ(サーブレット?)を記述するのに最適な方法は何でしょうか?私のサーバでは、設定ファイルを使わないでください。これは組み込みのJettyアプリケーションで行われますが、したくない場合は、それに依存する必要はありません。

答えて

1

私は春と個人的にやっています。 Springは多くのことを行うことができます。あなたが言ったように、大量のWeb機能は必要ありませんが、それでも必要な機能を選択して選ぶことはできます。

必要なものについては、単一のコントローラでSpringを設定し、要求を処理するメソッドで@ResponseBodyアノテーションを使用します。次にJSONに対する応答オブジェクトを直列化するようにSpringに指示します(実際はデフォルトだと思います)。そして、Springはあなたのためにシリアライゼーションを処理し、あなたのコードはJavaオブジェクトを処理します。

はここで私が話している機能のより詳細な記事です:http://java.dzone.com/articles/spring-3-rest-json-path-variables

あなたはあなたの周り探して行けばそう厄介なXML設定の束と多くの例が表示されますが、心配しないでくださいSpringのそれ以降のバージョンは、ほんの数行のJavaコードで構成することができます。

Avroの使用に関する注意事項に対処するために、実際に設定するのは難しいとは限りません。サーバーコンポーネントのサーブレットコンテナ内でAvroを使用した完全なサンプルアプリケーションを次に示します。 http://code.google.com/p/avro-http-example/wiki/Guide

0

設定ファイルを設定したくない場合は、Jetty APIが便利です。開始here

関連する問題