2010-12-10 8 views
1

Pythonには、最小限で洗練されたWebインターフェイスWSGIがあります。最も簡単なアプリケーションでは、次のようになります。Python WSGIのような最小限のJava Webインターフェイス

def simple_app(environ, start_response): 
    status = '200 OK' 
    response_headers = [('Content-type', 'text/plain')] 
    start_response(status, response_headers) 
    return ['Hello world!\n'] 

environはリクエストオブジェクトのようなものであるとstart_responseはresonseヘッダーを設定する機能です。レスポンスボディは反復可能なオブジェクトで、ここでは単一のString( 'Hello world!\ n')を持つリストです。このシンプルなインターフェースは、Javaで何が行われているかをサーブレットとフィルターで統一します。

Javaで類似のものを書くことができるのだろうかと思います。 Javaでイテレータを返すことは、ストリームを使うよりも遅くなると思います。 Servlet APIのように、OutputStream(応答オブジェクトにラップされている)を渡すことが最適な解決策だと私は考えています。それは次のようになります。

public interface Handler { 
    void handle(Request req, Response res); 
} 

応答が返される場合は、私が好む:

public interface Handler { 
    Response handle(Request req); 
} 

をしかし、その後のOutputStreamを渡すための唯一の方法は、リクエスト(要求#だろうcreateResponse())。

ASP.NET actions return "Result"オブジェクトについてはわかりませんが、フレームワークによってストリーミングがどのように実行されているかわかりません。どのようにJavaで似たようなことをしますか?

シンプルで洗練されたJava Web APIのアイデアを楽しみにしています。

答えて

0

javaのネイティブIOとネットワークAPIを使用して、java.netパッケージのServerSocketを作成できます。

+0

未加工のソケットは*ビット*低すぎます;-) – deamon

関連する問題