5. Programmieraufgabe

Hier sind ein paar Klassen, die es Euch besonders einfach machen, Webseiten abzurufen.

Zur Vorbereitung macht Ihr

  cd ~/MeinProgrammverzeichnisFuerDasFuenfteProgramm
  ln -s ~co2-001/web
um das web-Package verfügbar zu haben. In Euren Java-Dateien müßt Ihr dann (wo diese Klassen benutzt werden) ein
  import web.*;
schreiben. Aber das kennt Ihr ja alles schon. Dokumentation ist natürlich auch verfügbar.

Features

Schaut Euch unser Test-/Demoprogramm Test.java an und probiert es am besten selbst einmal aus.

An ihm könnt Ihr ganz leicht die drei Schritte sehen, die Ihr zum verarbeiten von WWW-Seiten durchführen müßt:

Einschränkungen

Aus Gründen der Rücksichtnahme (siehe Große Übung) erlaubt es der SimpleUserAgent (noch?) nicht, Seiten außerhalb unseres Fachbereichs abzurufen. Wenn Ihr es probiert, erhaltet Ihr eine normale IOException mit dem Inhalt "Site off limits", ähnlich dem, was passiert, wenn Ihr z.B. eine URL ansprecht, die es gar nicht gibt. Das passiert zum Beispiel dann, wenn Ihr sie auf einer Seite gefunden habt, wo sie jemand falsch eingetragen hat.

Da Ihr außerdem vermeiden sollt, Seiten mehrfach abzurufen, steigt SimpleUserAgent sofort aus, sobald er erkennt, daß er solche eine Seite schon mal geholt hat. Das machen wir so, weil Ihr es sonst wahrscheinlich nichteinmal merken würdet, wenn Ihr Seiten mehrfach anfragt. (Und er wirft nicht bloß eine Exception, weil viele von Euch die eh nur auffangen und dann ignorieren -- zumindest in der Testphase eines Programms. Ich sag nur "catch(Exception e) {}"...)


Olaf Jahn
Last modified: Fri Jun 25 16:54:59 MET DST 1999