JavaのURLクラスを使いこなす:ウェブへ簡単にアクセス
翻訳校正:原井彰弘
インターネット上のリソースへのアクセスのために、JavaはURLクラスを提供している。
Javaのネットワーク関連のクラスを用いることにより、ネットワーク上またはリモートのマシンと通信を行うアプリケーションを実装することはできる。しかし、JavaプラットフォームはインターネットやURLといったレベルで処理を行う機能も有している。
JavaのURLクラスを用いることにより、ウェブリソースへのアクセスはローカルファイルへのアクセスと同じくらい簡単になるのである。ここでは、どのようにすればURLクラスの力をうまく引き出し、コネクションを介してデータの読み書きを行うことができるかを見てみよう。
URLクラスを扱う
URLは、ウェブ上に存在するファイル、ウェブページ、ウェブアプリケーションのようなリソースを識別するために用いられており、多数の構文上の要素から構成されている。例として以下のURLを見て欲しい。
http://www.example.com:8080/mywebapps/AWebApp
プロトコルは「http」として識別される。また、ホスト名は「www.example.com」、ポート番号は「8080」である。「/mywebapps/AWebApp」という残りのURLは、アクセスしているサイト上のリソースを示している。この例の場合、そのリソースとは(偶然だが)ウェブアプリケーションである。URLにはフラグメント識別子やクエリ文字列のようなほかの要素を含むことも可能である。
URLを用いて取り出せるデータには多種多様な形式があるが、単一の仕組みでURLへの読み書きを行わなければならない。Javaのjava.netパッケージではそのような機能が提供されており、これから我々が議論するURLクラスもその中に含まれている。
URLクラスは、URL識別子を抽象化したものである。URLクラスを用いることによって、Javaから特定のURLとの接続を行い、データやヘッダのの読み書きを行ったり、それ以外のURLに関する操作をしたりすることが可能になる。これから、URLクラスやjava.ioパッケージに含まれているストリーム関連のクラスを用いて、どのような仕組みでURLに関する処理をファイルやソケット接続と同じ手法で実現できるのかを述べていく。
コンストラクタ
java.net.URLクラスのインスタンスを作成する際には、publicコンストラクタを利用する。URLクラスには、柔軟性を持たせるために多数のコンストラクタが用意されており、「完全なURL文字列」「プロトコル、ホスト名、ファイルまたはリソース名に分割された文字列」「プロトコル、ホスト名、ポート番号、ファイル名に分割された文字列」などさまざまな入力形式に対応している。ここでは、完全なURLを用いてURLクラスのインスタンスを生成してみよう。
URL aURL = new URL("http://www.example.com:8080/index.html");
この例では、URLクラスのインスタンスは完全なURLで作成されており、プロトコルは「http」、ホスト名は「www.example.com」、ポート番号は「8080」、そしてファイルまたはリソース名は「index.html」となっている。ちなみに、コンストラクタの引数として入力されたURLに文法的な誤りがある場合、コンストラクタはMalformedURLExceptionをスローする。
- 2人の推薦記事
- 0人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(0)
- ホワイトペーパー
- 話題のタグ
グーグル、JavaScriptプログラミングツールをリリース
Windowsの歴史 Windows Server 2008編:同じカーネルを持つ「Vista」とは対照的に早くから支持を得たサーバOS
Windowsの歴史 Windows Server 2003 R2編:安定性と先進性の両立目指す「R2」の先駆けとなったOS
モジラ、「Firefox 3.6」の第1ベータ版をリリース
最大32個のセンサーが電力を徹底管理!
【最終警告】パンデミック対策特集
大丈夫?あなたの会社のセキュリティ対策
企業ITシステムの企画、構築、運用のイロハ
進むストレージ環境の見直し
100万円で実現!中小企業の情報漏えい対策
―エン・ジャパン厳選求人☆毎週更新―