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

Adobe schließt neun kritische Lücken in Reader und Acrobat

Das jüngste Update bringt insgesamt zwölf Fixes. Schadcode lässt sich unter Umständen ohne Interaktion mit…

1 Stunde ago

Fabrikautomatisierung: Siemens integriert SPS-Ebene

Eine softwarebasierte Workstation soll es Ingenieuren erlauben, sämtliche Steuerungen zentral zu verwalten. Pilotkunde ist Ford.

2 Stunden ago

Ebury-Botnet infiziert 400.000 Linux-Server weltweit

Kryptodiebstahl und finanzieller Gewinn sind laut ESET-Forschungsbericht die vorrangigen neuen Ziele.

14 Stunden ago

Sicherheitslücken in Überwachungskameras und Video-Babyphones

Schwachstellen aus der ThroughTek Kaylay-IoT-Plattform. Dringend Update-Status der IoT-Geräte prüfen.

14 Stunden ago

AWS investiert Milliarden in Cloud-Standort Brandenburg

Fast acht Milliarden Euro fließen in die deutsche Region der AWS European Sovereign Cloud. Das…

18 Stunden ago

Hochsichere Software für Electronic Knee Boards der Bundeswehrpiloten

Im Rahmen der umfassenden Digitalisierung der Bundeswehr ersetzen Electronic Knee Boards die herkömmlichen Handbücher von…

21 Stunden ago