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
Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…
Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…
Hinter 84 Prozent der Zwischenfälle bei Herstellern stecken Schwachstellen in der Lieferkette. Auf dem Vormarsch…
Es kommt angeblich 2028 auf den Markt. Das aufgeklappte Gerät soll die Displayfläche von zwei…
Das System basiert auf Hardware von HPE-Cray und Nvidia. Die Inbetriebnahme erfolgt 2027.
Die Bundesnetzagentur hat ihr Gigabit-Grundbuch aktualisiert. Drei von vier Haushalten sollen jetzt Zugang zu Breitbandanschlüssen…