Einfacher Zugriff auf Web-Ressourcen mit Javas URL-Klasse

Mit den Netzwerk-Klassen von Java können Anwendungen über eine Netzwerk- oder Fernverbindung kommunizieren. Die Plattform erstreckt sich auch auf das Internet und entsprechende URLs. Javas URL-Klasse erlaubt es, auf Web-Ressourcen ebenso einfach zuzugreifen wie auf lokale Dateien. Der Artikel demonstriert, wie man sich die Möglichkeiten dieser Klasse zunutze machen kann, um Daten via URL-Verbindung zu lesen und zu schreiben.

Grundlegendes zum Aufbau einer URL

Eine URL identifiziert Ressourcen wie Dateien, Webseiten und Webanwendungen, die sich im Internet befinden. Sie besteht aus mehreren syntaktischen Elementen. Ein Beispiel wäre die folgende URL:


http://www.example.com:8080/mywebapps/AWebApp

Das Protokoll wird mit http angegeben. Der Hostname lautet www.example.com. Die Portnummer ist 8080. Der Rest der URL, /mywebapps/AWebApp, bezeichnet die Ressource auf der Website, auf die zugegriffen werden soll. In diesem Fall handelt es sich bei der Ressource um eine Webanwendung. URLs können auch andere Elemente enthalten, etwa Fragmente und Query-Strings.

Die von einer URL bezogenen Daten können sehr unterschiedlich sein. Deshalb ist ein einheitliches Verfahren zum Auslesen und Schreiben von URLs erforderlich. Java bietet ein solches Verfahren im java.net-Paket an. Die in diesem Paket enthaltene Klasse, die hier näher besprochen wird soll, ist die URL-Klasse.

Die URL-Klasse ist eine Abstraktion des URL-Identifikators. Sie erlaubt es dem Java-Programmierer, eine Verbindung zu einer bestimmten URL zu öffnen, Daten von dieser auszulesen, Daten an diese zu schreiben, Informationen im Header zu lesen und zu schreiben und andere Aktionen auf der URL durchzuführen. Im Folgenden wird beschrieben, wie man dank der URL-Klasse und der Stream-Klassen aus dem java.io-Paket mit einer URL fast so arbeiten kann wie mit lokalen Dateien und Socket-Verbindungen.

Konstruktoren fordern exakte Angaben

Beim Erstellen einer Instanz der java.net.URL-Klasse, kann man sich mehrere öffentlich verfügbare Konstruktoren zunutze machen, um Flexibilität zu gewinnen. So enthält die Klasse beispielsweise einen Konstruktor, der einen vollständigen URL-String erwartet. Daneben gibt es einen weiteren Konstruktor, der einen URL-String erfordert, der in Protokoll, Host und Datei/Ressource unterteilt ist. Und schließlich gibt es noch einen Konstruktor, der einen aus Protokoll, Host, Port und Datei bestehenden URL-String verlangt. Im Folgenden wird eine Instanz der URL-Klasse erstellt, der eine vollständige URL zugrunde liegt:

In diesem Beispiel bezeichnet http das Protokoll, www.example.com den Host, 8080 den Port und index.html die Datei beziehungsweise Ressource. Jeder der Konstruktoren der URL-Klasse löst eine Fehlermeldung der Form MalformedURLException für den Fall aus, dass die eingegebenen Argumente eine syntaktisch falsche URL ergeben.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Microsoft steigert Umsatz und Gewinn im ersten Fiskalquartal

Das stärkste Wachstum verbucht die Cloud-Sparte. Microsoft verpasst bei der Umsatzprognose für das laufende Quartal…

19 Stunden ago

Bezahlkarten: Infineon verspricht weniger Plastikmüll

Ein Coil-on-Module-Package integriert Chip und Antenne, was den Kartenkörper fast vollständig recycelbar machen soll.

1 Tag ago

Firefox 132 schließt elf Sicherheitslücken

Mindestens eine Anfälligkeit erlaubt das Einschleusen von Schadcode. Außerdem erweitern die Entwickler den Support für…

1 Tag ago

Telekom nennt Termin für 2G-Ende

Zum 30. Juni 2028 soll das 2G-Netz komplett abgeschaltet werden und den Weg für schnellere…

1 Tag ago

Alphabet übertrifft die Erwartungen im dritten Quartal

Gewinn und Umsatz legen deutlich zu. Zum Wachstum tragen auch die Sparten Cloud und Abonnements…

2 Tagen ago

1 Million Dollar: Apple zahlt Prämie für Hack seiner Apple Intelligence Server

Ein neues Bug-Bounty-Programm beschäftigt sich mit Apples Private Cloud Compute. Prämien gibt es unter für…

2 Tagen ago