Erweitern Sie die Beispiele
HelloWorldClient.java
und HelloWorldServ.java
zu einem einfachen Web-Server und Web-Client.
Gehen Sie dabei von folgendem Ablauf aus.
host
auf
ObjectStream
s 'veredelt'
"GET"
und
"nameEinerDatei.html"
(evtl. mit Pfadangabe)
BufferedReader
zum lesen
Achten Sie mindestens auf folgende Fehler:
1) der Server ist nicht erreichbar, 2) die Datei existiert nicht.
Überlegen Sie wie Sie sich gegen '../
' im Dateipfad
schützen können.
Erstellen Sie eine XML DTD für eine CD-Sammlung
(cdverwaltung.dtd
).
Der Aufbau der CD-Sammlung sollte folgende Bedingungen erfüllen:
Erstellen Sie eine XML-Datei (cdverwaltung.xml
)
die mindestens zwei Alben und zwei Sampler (jeweils mindestens
3-4 Tracks pro CD) enthält. Überprüfen
Sie die Gültigkeit mit dem Programm 'valid
'.
Erstellen Sie eine HTML-Datei mit der über ein Formular die Daten für die CD-Sammlung aus Übung XML.1 eingegeben werden können (orientieren Sie sich bezüglich der Felder an den Bedingungen aus Aufgabe XML.1).
Verwenden Sie eine Tabelle, um das Formular übersichtlich zu gestalten.
Zur Formularverarbeitung können Sie den URL:
http://trumpf-10.rz.uni-mannheim.de/~kredel/echo.phtml
verwenden
Hinweis zur korrekten Abgabe der Lösung:
Untersuchen Sie ihre HTML-Seite aus Aufgabe (HTML.1,
Formular mit Tabellen) auf ihre XHTML Konformität.
Die erforderlichen DTDs finden Sie beim
W3C oder im
Verzeichnis DTD
des Vorlesungsdownloads.
tidy
.
valid
. Dazu müssen Sie z.B. folgenden
DOCTYPE verwenden.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
valid
. Dazu müssen Sie z.B. folgenden
DOCTYPE verwenden.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict///EN" "DTD/xhtml1-strict.dtd">
valid
. Dazu müssen Sie z.B.
folgenden DOCTYPE verwenden.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1///EN" "DTD/xhtml11-flat.dtd">
valid
. Dazu müssen Sie z.B.
folgenden DOCTYPE verwenden.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0///EN" "DTD/xhtml-basic10.dtd">
Verbessern Sie Ihre Seite, so dass sie am Ende XHTML 1.1 konform ist. Welche Unterschiede bleiben zu XHTML Basic 1.0 ?
Erstellen Sie für die HTML-Seite mit der CD-Verwaltung aus
Aufgabe HTML.1 eine globale Style-Sheet-Datei (styles.css
).
Folgende Formatierungen sollen mindestens definiert sein:
Schicken Sie zur Lösung den Inhalt der CSS-Datei ein und geben Sie auch an, wie aus einer HTML-Seite auf diese Datei referenziert wird (achten Sie auf das Maskieren!).
Legen Sie die CSS-Datei auch auf dem trumpf-10 Server in Ihrem Homeverzeichnis ab und binden Sie diese in ihre CD-Verwaltungs-HTML-Seite ein. Geben Sie bei der Lösung auch den URL zur HTML-CD-Verwaltungsseite an, so dass man dieses abrufen kann.
Schreiben Sie für die HTML-Seite mit der CD-Verwaltung aus Aufgabe XML.1 ein Programm mit JavaScript das folgendes kann.
Schreiben Sie das JavaScript-Programm in einer separaten Datei und binden Sie es in Ihre HTML-Seite ein.
Liefern Sie den Inhalt der JavaScript-Programm-Datei als Lösung ab und geben Sie noch den URL zu Ihrer Seite auf dem trumpf-10 an.
Entwickeln Sie für die XML CD-Sammlung (aus Aufgabe XML.1) eine XSL-Transformation nach XHTML.
Entwickeln Sie für die XML CD-Sammlung (aus Aufgabe XML.1) eine XSL-Transformation nach WML.
Entwickeln Sie für die XML CD-Sammlung (aus Aufgabe XML.1) eine XML Schema-Definition. Präzisieren Sie die Datentypen und die Struktur-Bedingungen, die Sie in der entsprechenden DTD festgelegt hatten, soweit es sinnvoll ist.
Entwickeln Sie ein Java Programm SendMail
,
mit dem Sie eine Datei per SMPT an rumms.uni-mannheim.de
verschicken können.
Das Programm soll 3 Parameter auf der Kommandozeile
entgegen nehmen: Empfänger, Absender und Dateiname.
java SendMail x@y.de z@uni-mannheim.de datei_mit_mail.txt
Als Vorlage für das Programm können Sie unseren Web-Server aus einer früheren Aufgabe nehmen. Allerdings können Sie hier keine Objekt-Ströme (SocketChannel) verwenden, da die rumms nur mit Byte-Strömen umgehen kann.
Installieren Sie (Gnu-)PGP und erstellen Sie sich ein Schlüsselpaar (public und private). Verschicken Sie Ihren öffentlichen Schüssel per Email an die Mailingliste zur Vorlesung. Senden Sie eine signierte Email an die Mailingliste (beliebigen Inhalts). Vergleichen Sie die Schlüssel bei der nächsten Übung und verifizieren Sie damit den Absender der signierten Email.
Entwickeln Sie ein Java Programm WebGet
,
mit dem Sie eine Datei von einem Web-Server per HTTP 1.1 mit
der GET Methode abrufen können.
Das Programm soll 2 Parameter auf der Kommandozeile
entgegen nehmen: Hostname und Dateiname.
java Webget www.uni-mannheim.de rum/index.html
Als Vorlage für das Programm können Sie unseren Web-Server aus einer früheren Aufgabe nehmen. Allerdings können Sie hier keine Objekt-Ströme (SocketChannel) verwenden, da die Web-Server nur mit Byte-Strömen umgehen können.
Entwickeln Sie ein CGI Programm
mit dem Sie ihre CD-Sammlung aus der XML-Datei
als XHTML-Datei ausliefern.
Zum Beispiel können Sie den Java XSLT Prozessor
in dem Script direkt aufrufen:
java org.apache.xalan.xslt.Process -in cdsammlung.xml -xsl cd2html.xsl
Effizienter wäre es, wenn Sie die Transformation nur dann durchführen, wenn sich an der XML Datei etwas geändert hat und ansonsten eine fertige Datei ausliefern. In der Bash könnte dies folgendermassen aussehen:
if [[ cdsammlung.xml -nt cdsammlung.html ]] then java org.apache.xalan.xslt.Process -in cdsammlung.xml -xsl cd2html.xsl -out cdsammlung.html fi cat cdsammlung.html
Entwickeln Sie einen Java Web-Server der nur
ihre CD-Sammlung aus der XML-Datei
als XHTML-Datei ausliefern kann.
Intern können Sie wieder den Java XSLT Prozessor
mit den entsprechenden Methoden aufrufen.
Lassen Sie die Ausgabe direkt auf den Ausgabe-Socket schreiben
ohne eine Datei zur Zwischenspeicherung zu verwenden.
Entwickeln Sie ein PHP Programm mit dem Sie die Daten aus Ihrem CD-Formular in die XML Datei eintragen können.
Entwickeln Sie ein JSP Programm mit dem Sie die
Daten aus Ihrem CD-Formular in die XML Datei eintragen können.
Die XML Datei können Sie z.B. mit einem DOM oder SAX-Parser
bearbeiten.
Entwickeln Sie ein Java Servlet das
ihre CD-Sammlung aus der XML-Datei
als XHTML-Datei ausliefern kann.
Intern können Sie wieder den Java XSLT Prozessor
mit den entsprechenden Methoden aufrufen.
Seite mit weiterem Material aus den Übungen.
© Universität Mannheim, Rechenzentrum, 1998-2003.
Heinz KredelLast modified: Sat Jul 19 11:33:30 CEST 2003