2012-01-25 15 views
1

私は静的なHTMLページを返すWebサーバーを作成しています。 GET /path/to/file/index.html HTTP/1.0というリクエストに応答して、私はindex.htmlを返すことになっています。私はJavaでこれを書いているので、私は基本的にsocket.outputstream経由でページを返しています。しかし、私はoutputstream経由でhtmlファイルを返す方法を知らない。入力ファイルを開いて行ごとに読み込み、それをsocket.outputstreamに出力する必要がありますか?または、HTTPレスポンスとしてhtmlファイルを送信する方法がありますか?ありがとう!HTTP応答HTMLファイルを送信する方法

+0

socketは、通信するストリームを使用します。ソケットを通してあらゆる種類の情報を送信する必要がある場合は、文字列として書き出します。 – Noah

+0

サーブレットを使ってみましたか?そうでない場合、なぜですか? – 9000

+0

ところで、あなたは 'java.nio'、特に' SocketChannel'、 'FileChannel'、' Pipe'の周りに手を包みたいかもしれません。 – 9000

答えて

2

ストリームを使用する必要がある場合は、はい、データを自分でコピーする必要があります。サンプルコードherehereがあります。

ただしソケットにすべてのファイルのデータを転送するために、ファイルを開くためにFileChannel.open()、ソケットを開くためにjava.nioからSocketChannel.open()を使用して、FileChannel.transferTo()方法することができます。

関連する問題