Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

Javaで作る簡易WebサーバでJavascriptを送信したい

こんにちは。
この度は、Javaで簡単なWebサーバを作っています。
具体的には
サーバはブラウザからアクセスがあると、ページ(HTML・Javascript)を送るというものです。

問題は、
そこでHTMLだけの送信であれば想定通りページが表示されるのですが、
Javascriptのファイルをどのように送信したらいいのかがわからないのです。

調べようにも「Javascriptを用いてのファイルのアップロード」などばかりが見つかるだけで成果が出ないので
この場で質問させていただきました。

データの送信の手順は
new PrintStream(socket.getOutputStream())を用いて
new DataInputStream(new FileInputStream(new File(""))から
読みだしたデータを送信するというものです。

また、HTMLを送信する前に
pw    = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())));
pw.print("HTTP/1.1 200 OK\n");
pw.flush();
pw.print("Server: Simple Java Web Server\n");
pw.flush();
pw.print("Content-Length: " + html_file.length() + "\n");
pw.flush();
pw.print("Connection: close\n");
pw.flush();
pw.print("Content-Type: text/html\n");
pw.flush();
というもの(送信前宣言なのでしょうか?)を挟んでいます。

ここでHTMLファイルとJavascriptファイルはそれぞれ分かれています。

目的はJavascriptファイル「.js」をどのような手順を用いて送信すればいいのかを
知ることです。

補足等はご指摘いただければ追記いたします。
何卒、ご教授をよろしくお願いします。


6

回答

94908

閲覧

6件の回答

評価

0

例えば.cgiとか.plとかそういった拡張子(サーバー側で
解釈しないといけない)のものを除けば、拡張子が何だろ
うとWebサーバーは同じものと見なして内容をそのまま送
信するのが基本だ。

あえて違いがあるとすれば、クライアントへ教えている
「こういう種類のファイル」という部分だけだ。
それをどこで示しているかは、自分が書いたコードで見つ
けることができるだろう。

評価

0

インターネットなどで調べるにあたりその技術を表すより
本質的なキーワードが何かを考えて検索しないと情報を得
るのが難しいです。そうでないとヒットした情報は知りた
いものとは無関係のものばかりになってしまいます。

本件の場合通信対象のファイルの種類を表す
「JavaScript」やサーバーを実装する言語である「Java」
はキーワードとして遠いと思います。

「WEBサーバー」「通信規約」あるいはもっと直接的に
「HTTPプロトコル」などのキーワードで検索するのがよい
と思います。

評価

0


質問者です。
ご回答有難うございます。

-匿名さん
>あえて違いがあるとすれば、クライアントへ教えている「こういう種類のファイル」という部分だけだ。それをどこで示しているかは、自分が書いたコードで見つけることができるだろう。
私は、
pw.print("Content-Type: text/html\n");
pw.flush();
の部分がその種類を示している部分だと思うのですが、ここを
pw.print("Content-Type: text/javascript\n");
pw.flush();
のようにしてからJavascriptの送信を行えばよいということでしょうか。

-KSwordOfHasteさん
ご意見を参考させていただき、検索を試行錯誤したのですが
どうにも求めている情報を見付けることができませんでした。
大変申し訳ないのですが、よろしければ参考となるサイトのURL等をご紹介いただけないでしょうか。

評価

0

HTTP1.1の仕様書(日本語訳)を探すと以下があったのでURL
を上げておきます。

http://www.spencernetwork.org/reference/rfc2068-ja-
HTTP1.1.txt


質問者さんはHTMLを応答する場合の具体例はご存じなのだ
けれど各応答のHTTPプロトコル上の意味を把握されていな
いのではないでしょうか。自分はそう思ったのでHTTPプロ
トコルを調べることをお勧めした次第です。

こういったものを作ろうとしたとき簡単な例や説明は初期
理解には役立ちますが実際に作ろうとするなら肝心の「仕
様書」を見つけておく方がよいと思います。手さぐりで進
めずともそこに完全な仕様が書いてあるのですから。

評価

0

質問者です。

->KSwordOfHasteさん
ご回答有難うございます。
判りました。
私は学生でして、仕様書というものを読むのは初めてで
正直どのように読むものなのかわかりませんが、
とりあえず、ご紹介いただいたテキストを一通り読ませていただこうと思います。
根っこの理解は確かに重要ですよね。
つい逃げがちになってしまうのですが。

評価

0

>のようにしてからJavascriptの送信を行えばよいということ
でしょうか。
まずは試してから。それくらいで壊れることはない。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。