| |
-
Erweitern Sie Ihren Webserver zu einem Proxyserver. Dieser soll einige eher
unkonventionelle Funktionalitäten zur Verfügung stellen:
- Bilder werden aus Webseiten herausgefiltert. Anstelle der Originalbilder
sind entweder die alt="Mark und Julia auf der Havel"-Texte anzuzeigen,
oder aber - und das wäre viel lustiger - andere Bilder, z.b.
zufällige flickr-Fotos.
- Formulardaten und andere interessante Inhalte (GET, POST,
Authorization-Header, ..) werden in einer .log-Datei gespeichert.
- Ihr Proxy soll auch einen TCP Server implementieren: Ein Klient soll
eine Verbindung zu dem Proxy öffnen und sich identifizieren, indem
er
seinen Benutzernamen und sein Passwort in zwei einzelnen Zeilen als
Klartext schickt. Falls die Eingaben stimmen, soll Ihr Programm alle
gesammelten Informationen an den Klienten als Klartext
zurückschicken
und die Verbindung abbauen. Der Bentuzername soll dabei ein 'B' gefolgt
von Ihrer Gruppennummer sein, dass Passwort ein 'P' mit Gruppennummer.
Achten Sie darauf, dass alle Gruppennummern zweistellig sein
sollen.
Ihr Programm soll sich als HTTP-Proxy in einem Browser einstellen lassen, dessen
Anfragen weiterleiten, und diesem die Antworten des Servers zur Verfügung
stellen.
Hinweise:
- Ihre Lösung soll GET, HEAD und POST Anfragen verarbeiten
können. Sie
müssen andere HTTP Methoden nicht unterstützen.
- Sie brauchen sich nicht um Passwort-geschützte Seiten etc. zu
kümmern.
-
http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml enthält die
EZB-Feststellungen der Wechselkurse des Euro. Bitte schreiben Sie ein Tool, das
den jeweils aktuellen Kurs des Schweizer Franken (Kürzel CHF) ermittelt. Im
JDK
befinden sich mit der Java API for XML Processing (JAXP) verschiedene
Technologien zur Verarbeitung von XML-Daten. Verwenden Sie entweder den
vorhandenen SAX- oder DOM-Parser, um die genannte XML-Datei zu verarbeiten.
-
Lassen Sie Ihren Webserver von Blatt2 eine Seite mit JavaScript anzeigen. Diese
Seite soll natürlich wieder optisch ansprechend und bunt gestaltet sein und
als spezielles Feature über mind. 5 Buttons verfügen, mit denen sich
das Design verändern läßt. Dabei ist es Ihnen überlassen,
ob sich das Design bei mouseOver oder mouseClick, etc. (wie auch immer das
heisst!!) ändert, und was genau dann passieren soll.
|
| |
Zum Bestehen des Blattes ist es erforderlich, dass
- Aufgabe 1 funktioniert
- Aufgabe 2 bearbeitet wurde
- Aufgabe 3 funktioniert
Die Abgabe der Lösungen erfolgt auf zwei Wegen
Bitte schreiben Sie zur jeder Aufgabe eine Dokumentation, in der Sie
anhand von *relevanten* Codefragmenten Ihre Implementierung
erläutern.
Die Codefragmente sollten möglichst kurz gehalten werden und nur
der Orientierung für den Leser dienen; entscheidend sind Ihre
Erläuterungen, was diese Fragmente machen und wieso Sie sich
für diese Art der Implementierung entschieden haben. Erläutern
Sie auch, welche Art der Fehlerbehandlung Sie vorgenommen haben,
insbesondere bezüglich der Fehler, die erst bei verteilten Systemen
auftreten. Die Dokumentation ist in den Fächern der Tutoren
abzugeben.
Schicken Sie ein Archiv an Ihren Tutor, welches den vollständigen
Quellcode sowie ausführbare JAR-Dateien für die
jeweiligen Aufgabenteile
enthält. Der Betreff der E-Mail sollte wie folgt anfangen:
"[ALP5] Gruppe X ....".
|