Online Audio - CD Datenbank

Werbung
Entwicklung objektorientierter verteilter Systeme
Projekt
„Online Audio - CD Datenbank“
Andreas Fey
Informatik 7. Semester
Inhaltsverzeichnis
1
AUFGABENSTELLUNG ........................................................................................................................... 3
2
ANWENDUNGSFÄLLE............................................................................................................................. 4
3
EINGESETZTE TECHNOLOGIEN .......................................................................................................... 5
3.1
3.2
3.3
3.3.1
3.3.2
3.3.3
3.4
3.5
3.6
HTML UND JAVASCRIPT ...................................................................................................................... 5
CSS ...................................................................................................................................................... 6
JAVA SERVLETS .................................................................................................................................... 6
CDManager.java............................................................................................................................. 7
SendCover ....................................................................................................................................... 7
GetCover ......................................................................................................................................... 8
JAKARTA COMMONS FILEUPLOAD 1.0 .............................................................................................. 8
JDBC.................................................................................................................................................... 8
MYSQL................................................................................................................................................. 9
4
ÜBERSICHT PROBLEMATIKEN .......................................................................................................... 11
5
DOKUMENTATION.................................................................................................................................. 13
5.1
5.2
6
BENUTZER - DOKUMENTATION ........................................................................................................... 13
ADMINISTRATOR - DOKUMENTATION ................................................................................................. 15
MÖGLICHE ERGÄNZUNGEN ............................................................................................................... 18
Andreas Fey
Seite 2 von 18
Projekt für EOOVS
1 Aufgabenstellung
Das Internet bietet heute vielfältige Möglichkeiten, Informationen bereitzustellen und
auszutauschen. Häufig angefragte Informationen können an einer zentralen Stelle
abgelegt werden, um dann von beliebig vielen Nutzern abgerufen zu werden.
In diesem Projekt soll solch ein System durch eine „Online Audio - CD Datenbank“
modelliert werden, in der eine Audio - CD - Sammlung durch einen System-Besitzer
ergänzbar und durch beliebig viele Nutzer abrufbar sein soll.
Das System soll so konzipiert sein, dass ein Administrator mittels Kennung und
Passwort den Datenbestand ergänzen und einsehen kann. Jeder andere Benutzer
soll ohne Zugangsinformationen den Datenbestand einsehen, aber nicht verändern
können.
Die Informationen zu einer Audio - CD sollen im Einzelnen sein:
ƒ Interpret (Artist) *1
ƒ Albumname *
ƒ Name der einzelnen Titel auf der CD
ƒ Cover
Das Erscheinungsbild des Programms soll einheitlich in Farbe, Schrift und Aufbau
sein, um dem Benutzer eine intuitiv zu bedienende und komfortable Bedienung zu
ermöglichen.
Des Weiteren müssen bei jeder Interaktion mit dem System, die eine Abfrage oder
Änderung des Datenbestandes zur Folge hat, Status- und Fehlermeldungen ausgegeben werden.
1
Die mit * gekennzeichneten Eintrage sind Muss-Kriterien, ohne die ein Eintrag nicht angenommen werden soll
Andreas Fey
Seite 3 von 18
Projekt für EOOVS
2 Anwendungsfälle
Die Realisierung dieses Programms soll auf einer dynamischen Website basieren,
sodass Benutzer und Administrator über einen Browser das Programm aufrufen können. Als Browser wird der Internet Explorer 5.5 oder höher vorausgesetzt.
Zwei Anwendungsfälle sind vorgesehen, die mittels einer Auswahlbox im oberen Teil
der Startseite angezeigt wird:
1. Abfrage der eingetragenen CDs
Der Benutzer kann mittels einer Eingabe des gewünschten Albennamens
und/oder des Künstlers die Suche auslösen. Um alle eingetragenen Alben angezeigt zu bekommen, muss er, um der dadurch entstehenden langen Übetragungsdauer explizit zuzustimmen, als Künstler „all“ eintragen.
Als Platzhalter kann ein „*“ eingegeben werden.
Nach dem Auslösen dieser Abfrage durch Betätigung eines Buttons wird die
Datenbank vom System durchsucht und die Ergebnisse unter der Anfrage
aufgelistet. Ausgegeben werden jeweils die Künstlernamen, der Albumname,
das dazugehörige Cover und die Titelnamen der CD (sofern diese vorher eingetragen wurden).
2. Neue Eintragung
Einen neuen Eintrag kann nur ein Administrator, hier der Besitzer der CDSammlung, vornehmen. Er muss dazu über eine gültige Benutzername/Passwort Kombination für die Datenbank verfügen, um neue Datensätze
dort anzulegen.
Für einen neuen Eintrag müssen Künstlername und Albumname, sowie Benutzername und Passwort für die Datenbank, eingetragen werden. Zusätzlich
können noch die einzelnen Titel der CD (bis zu 19 Stück) und ein Cover, welches in einer Bilddatei vorliegen muss, angegeben werden.
Falls ein Cover gesendet werden soll, muss dieses zunächst durch einen Öffnen-Dialog ausgewählt werden und vor dem Senden der Daten an das System mittels eines gesonderten Buttons geschickt werden. Nachdem eine positive Bestätigung angezeigt wird, können die restlichen Textinformationen ebenfalls gesendet werden. im System werden diese Daten wieder mit dem
Cover verknüpft und in der Datenbank abgelegt.
Nach jedem Vorgang werden Fehler- oder Bestätigungsnachrichten unter der Suchmaske angezeigt, um den Benutzer bei der Bedienung zu unterstützen.
Andreas Fey
Seite 4 von 18
Projekt für EOOVS
3 Eingesetzte Technologien
Zu Einsatz kamen in diesem Projekt folgende Technologien:
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
HTML 4.0 (www.w3.org)
CSS (www.w3.org)
JavaScript (www.w3.org)
Java Servlets 2.3 (java.sun.com/products/servlet/)
JAKARTA Commons FileUpload 1.0 (jakarta.apache.org/commons/fileupload/)
JDBC (java.sun.com/products/jdbc/)
mySQL 4.1 (www.mysql.com)
3.1 HTML und JavaScript/DOM (Document Object Model)
Die Startseite des Programms unterteilt sich in einen Dialog zum Eintragen einer
neuen CD und einem Dialog zur Abfrage des CD – Bestandes. Beide Dialoge sind
statisch und unterliegen keiner Änderung. Um einen schnellen Seitenaufbau zu garantieren wurde die Startseite daher mit HTML kodiert. Aus demselben Grund werden auch die Statusmeldungen und Ausgaben, die die Servlets zurücksenden, im
HTML – Format zusammengebaut.
Dynamische Informationen, wie die IP des Servers, werden beim Laden der Seite
durch JavaScript – Funktionen ausgelesen. Des Weiteren geschieht das Ausblenden
des Anfrage- / Eintrag-Dialoges nach Betätigen des Auswahlmenüs durch dynamisches Setzen von Style – Attributen mit JavaScript/DOM.
function changeMode(mode)
{
if(mode == 1)
{ //Abfrage
document.all.item("select").style.display = 'block';
document.all.item("insert").style.display = 'none';
}
//...
}
Abbildung 1: JavaScript Funktion zum Umschalten der Eintragung- / Abfrage - Form
Da nur der Internet Explorer ab Version 5.5 das Auslesen von Informationen aus einer HTML-Seite mittels dem Document Objekt Model unterstützt, wird dieser vorausgesetzt.
Bei dem Senden der eingetragenen Informationen in einem Dialog werden diese mittels POST oder GET Methoden aus einer <FORM> heraus gesendet.
Andreas Fey
Seite 5 von 18
Projekt für EOOVS
<form method="post" id="posting1" target="output" action="">
....
<input type="submit" align="middle"></input>
<input type="reset" align="middle"></input>
....
</form>
Abbildung 2: <FORM> mit Submit -und Reset - Button
3.2 CSS
Der Gestaltungsfreiheit bei Webseiten sind keine Grenzen gesetzt; jeder Abschnitt
einer Seite kann ein völlig anderes Aussehen erhalten als der vorige. In HTML selbst
sind die Möglichkeiten, einer Webseite ein spezielles und dazu einheitliches Aussehen in Schrift, Farbe und Seitenaufteilung zu geben, sehr begrenzt.
Aus diesem Grund wurden Cascading StyleSheets (CSS) verwendet, die es ermöglichen, allen sichtbaren HTML-Komponenten wie Tabellen oder Beschriftungen ein
definiertes Design zuzuweisen. Da diese Design-Definitionen in externen Dateien
gehalten werden, ist es möglich, durch Änderung nur dieser Dateien, das Aussehen
einer Seite zu ändern. Das Editieren in HTML – Dateien oder neukompilieren von
Servlets, die HTML – Ausgaben erzeugen, ist so nicht mehr nötig.
In diesem Projekt wurde eine globale Datei default.css für alle HTML – Ausgaben
verwendet.
Andererseits ist es so möglich, die im Kapitel 2.1 schon erwähnte Technik des Einund Ausblendens von Teilen der HTML – Seite durch Änderung der Style – Attribute
eines <DIV> Tags zu benutzen. Dies wurde auf der Startseite für den Wechsel zwischen Eintrag- und Ergänzungsdialog eingesetzt:
<select name="mode" onchange="changeMode(this.value)" >
<option value="1">Anfrage</option>
<option value="2">Eintrag</option>
</select>
…….
<div id="insert" style="display:none">
……//Code der Eintrage-Form
</div>
<div id="select" style="display:none">
……//Code der Auswahl-Form
</div>
Abbildung 3: Auswahl der Form durch Änderung des style.display Attributs
3.3 Java Servlets
Den Kern der Audio-CD-Datenbank stellt das auf dem Server laufende System da.
Es muss Eingaben durch POST und GET Methoden eines Client-Browsers entgegen-
Andreas Fey
Seite 6 von 18
Projekt für EOOVS
nehmen, mit der Datenbank kommunizieren um die gewünschten Informationen zu
verarbeiten und dynamisch Inhalte an den Browser zurücksenden.
Um diesen Anforderungen zu entsprechen, werden in diesem Projekt Java Servlets
eingesetzt. Da zu unterschiedlichen Zeitpunkten verschiedene Anfragen an das System gestellt werden, wurden insgesamt drei solcher Servlets eingesetzt:
ƒ
ƒ
ƒ
CDManager.java als Haupt-Servlet, welches direkt mit dem Nutzer kommuniziert und Anfragen an andere Klassen weiterleitet
SendCover.java als zusätzliches Servlet, welches die Funktionalität des
Cover – Uploads realisiert
GetCover.java wird indirekt aus der vom CDManager – Servlet erzeugten
HTML-Seite aufgerufen und überträgt die Binärdaten des angeforderten Covers direkt aus der Datenbank.
Weiterhin kamen folgende Hilfsklassen, mit denen die Servlets kommunizieren, zum
Einsatz:
ƒ
ƒ
BlobHandler als Handler für Blob - Objekte
DBConnector als Verdeckung der Datanbankverbindung
Im Folgenden sollen diese Servlets und die zusätzliches Hilfsklassen näher erläutert
werden.
3.3.1 CDManager.java
Das Haupt – Servlet wird direkt von der Haupt – HTML – Seite durch Betätigung der
Sende – Buttons aufgerufen. Es entnimmt der Anfrage die Parameter und leitet dadurch ab, welche Aktion der Benutzer tätigen will (Anfrage oder Eintrag).
CDManager.java kommuniziert mit der Klasse DBConnector, welche die Kommunikation mit der Datenbank verdeckt und Methoden zur gezielten Abfrage oder Eintragung bereitstellt.
3.3.2 SendCover
Da ein Senden von Textinformationen wie dem Titel der CD nicht mit den Binärdaten
einer Cover-Datei gekoppelt werden kann, ist ein weiteres Servlet nötig, welches vor
den Textinformationen das Cover an den Server sendet, um diese Daten später wieder verknüpfen zu lassen.
Die Binärdaten des Covers werden im multipart/form-data Format gesendet
und im Servlet von der JAKARTA Commons Klasse FileUpload.java verarbeitet.
DiskFileUpload upload = new DiskFileUpload();
//…
List items = upload.parseRequest(request,size,size,"\\");
// Process the uploaded items
Iterator iter = items.iterator();
while (iter.hasNext())
{
Andreas Fey
Seite 7 von 18
Projekt für EOOVS
FileItem item = (FileItem) iter.next();
if (!item.isFormField())
//item weiter verarbeiten
}
Abbildung 4: Verarbeitung der Cover - Binärdaten durch das FileUpload - Objekt
Mittels einem InputStream – Objekt werden die Binärdaten des Covers an die Klasse
BlobHandler.java übergeben. Diese speichert die Coverdaten in einer Datei auf dem
Server und gibt den Dateinamen mit einem Zeitstempel zum späteren Widerauffinden der Coverdatei an das Webfrotend zurück.
3.3.3 GetCover
Da analog zu dem Senden auch bei einem Empfangen von Daten die Text- und Coverdaten nicht gleichzeitig gesendet werden können, übernimmt ein weiteres Servlet
die Aufgabe des Ladens eines Covers aus der Datenbank. Zuvor werden die Textinformationen und ein Index, der als Zeiger auf das zugehörige Cover fungiert, an den
Browser übertragen.
Das Servlet GetCover nimmt bei seinem Aufruf nur diesen Index als Parameter entgegen. Das Servlet ruft die Methode getBlobfromDB der Klasse DBConnector auf
und gibt das Cover aus der Datenbank direkt auf dem OutputStream aus.
Aufgerufen wird dieses Servlet als src – Attribut eines <img> Tags:
<img id='cover' src='/servlet/GetCover?cover=’x.jpg'/>
Abbildung 5: IMG - Tag, welches als src das GetCover Servlet hat
3.4 JAKARTA Commons FileUpload 1.0
Die Daten eines Covers werden, wie schon erwähnt, in einem Binärformat an ein
Servlet gesendet. Java Servlets bieten jedoch keine Möglichkeit, diese Daten komfortabel abzugreifen und serverseitig wieder ein Grafikobjekt zu extrahieren.
Das FileUpload – Package aus den JAKARTA Commons stellt hingegen eine Klasse
bereit, mit der diese Daten aus einem InputStream gelesen werden können.
FileUpload parst ein zu RFC 1867 konformes HTML Request (ein HTML – Request,
welches mittels einer POST – Methode und dem Content Type "multipart/form-data"
gesendet wird) und stellt die Ergebnisse als ein einfach zu verwaltendes Listenobjekt, welches die gesendeten Dateien binär als Einträge enthält, zur Verfügung.
3.5 JDBC
Die Daten in diesem Projekt werden in einer Datenbank gehalten. Diese muss durch
die Servlets erreichbar sein, um Daten zu ergänzen und abzufragen.
Für die Verbindung zur Datenbank wurde JDBC benutzt. Die Aufrufe sind in der
Klasse DBConnector gekapselt.
Andreas Fey
Seite 8 von 18
Projekt für EOOVS
private boolean initSQL(String user, String pw) {
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(url, user, pw);
statem = conn.createStatement();
return true;
}
...
}
Abbildung 6: Ausschnitt der initSQL - Methode
3.6 mySQL
Als Datenbank Management System wurde mySQL gewählt, da es den Anforderungen dieses Projektes genügt. Wahlweise kann auch SQL eingesetzt werden. Zu beachten ist hierbei, dass diese den Datentyp „BLOB“ unterstützt und die maximale
Größe einer Bilddatei in dem Deployment Descriptor an die Restriktionen der Datenbank angepasst wird Die benutzte Datenbank unterliegt folgendem semantischen
Schema:
1,1
Content
LfdNr
Titel1
Titel2
Titel3
Titel4
Titel5
Titel6
Titel7
Titel8
Titel9
Titel10
Titel11
Titel12
Titel13
Titel14
Titel15
Titel16
Titel17
Titel18
Titel19
CD
LfdNr
Artist
Album
Cover
Andreas Fey
0,19
Seite 9 von 18
Projekt für EOOVS
Logisches Schema:
Tabelle CD
PK
Name
Datentyp
Grösse
Default
LfdNr
INTEGER
11
0
Artist
VARCHAR
30
Album
VARCHAR
30
Cover
LONGBLOB
1677721
5
Name
Datentyp
Grösse
Default
LfdNr
INTEGER
11
0
Titel1
VARCHAR
30
Titel2
VARCHAR
30
Titel3
VARCHAR
30
Titel4
VARCHAR
30
Titel5
VARCHAR
30
Titel6
VARCHAR
30
Titel7
VARCHAR
30
Titel8
VARCHAR
30
Titel9
VARCHAR
30
Titel10
VARCHAR
30
Titel11
VARCHAR
30
Titel12
VARCHAR
30
Titel13
VARCHAR
30
Titel14
VARCHAR
30
Titel15
VARCHAR
30
Titel16
VARCHAR
30
Titel17
VARCHAR
30
Titel18
VARCHAR
30
Titel19
VARCHAR
30
Not
null
Tabelle Content
PK
Not
null
Die Tabelle CD enthält alle nötigen Informationen eines Albums, inklusive des Covers. Falls zusätzlich Titelinformationen eingegeben sind, sind diese über die Verknüpfung „LfdNr“ zur Tabelle Content abrufbar.
Andreas Fey
Seite 10 von 18
Projekt für EOOVS
4 Übersicht Problematiken
Folgende Problematiken ergaben sich vor und während der Entwicklung dieses Projektes:
1. Senden des Covers als Binärdaten an das Servlet
2. Übertragen eines BLOBs aus der Datenbank in den Browser ohne Zwischenspeichern in einer Datei
3. Das gesendete Cover mit den eingegebenen Daten im Servlet verknüpfen
(Servlet muss zweimal aufgerufen werden)
zu 1:
In einem Servlet steht mit den Bordmitteln keine Möglichkeit zur Verfügung,
binäre Daten, die über eine POST – Methode gesendet wurden, zu verarbeiten. Deshalb wurde das zuvor schon besprochene JAKARTA Commons.FileUpload Package eingesetzt, um diese Aufgabe zu verwirklichen.
zu 2:
Um in einer HTML – Seite eine Grafik anzeigen zu können, bedarf es der Definition eines src – Attributes in einem <img> Tag. In dieses kann eine URI eingetragen werden, unter der die Grafik für den Browser zu finden ist, gewöhnlich
wir eine Datei mit ihrem Pfad auf dem Server angegeben.
Um in diesem Projekt keine Datei anzulegen, in der das BLOB aus der Datenbank zwischengespeichert wird um für den Browser erreichbar zu sein, existiert
ein weiters Servlet getCover, welches das angeforderte BLOB aus der Datenbank holt und es sofort an den OutputStream weiterleitet. Das <img> Tag kann
so das Servlet selbst als URI (mit einem Parameter, der das gewünschte Bild
angibt) verwenden und dynamisch die Bilddaten empfangen (siehe Abbildung 5)
zu 3:
Bei dem Erzeugen eines neuen Eintrages ergibt sich das Problem, dass die
Texteinträge nicht mit dem Cover gleichzeitig gesendet werden können, da sich
das Format (Attribut enctype der <form>) der POST - Nachrichten unterscheidet. Bei zwei Aufrufen des Haupt-Servlets ergibt sich wiederum das Problem, wie die Textdaten mit den Bilddaten verknüpft werden sollen, bzw. wie das
Servlet von dem jeweils anderen Nachrichtenteil erfährt.
Dieses Problem wurde analog zu dem Anhangs-Upload bei E-Mail - Anbietern
gelöst. Der Benutzer sendet zunächst das Cover selbst, das Servlet sendet den
Dateinamen mit einem Zeitstempel für das zwischengespeicherte Bild zurück,
mit dem es später wieder aufgefunden werden kann.
Andreas Fey
Seite 11 von 18
Projekt für EOOVS
Browser
1.) Senden der Datei an das
Servlet cover.jpg
Servlet
3.) Rückgabe des neuen Dateinamens mit Zeitstempel
„cover9835617.jpg“
2.) Ablegen der Datei
auf Platte mit Zeitstempel
cover9835617.jpg
Abbildung 7: Erster Schritt des Cover-Sendens
Im zweiten Schritt sendet der Benutzer die Textinformationen an das Servlet,
JavaScript verpackt vor dem Aufruf den empfangenen Dateinamen clientseitig
mit in die POST – Nachricht. So hat das Servlet nach dem zweiten Schritt einerseits die Textdaten direkt empfangen und andererseits durch die mitgelieferte ID
des zugehörigen Bildes eine Referenz auf die vorher zwischengespeicherte Datei.
1.) Senden der Titelinformationen und des Dateinamens
Browser
Servlet
3.) „INSERT“ der
Titelinformationen
auf freie ID
2.) Freie ID für
neuen Datensatz anfragen
4.) „UPDATE“ der
Coverdaten zur ID
Datenbank
Abbildung 8: Zweiter Schritt des Cover-Sendens
Andreas Fey
Seite 12 von 18
Projekt für EOOVS
5 Dokumentation
5.1 Benutzer - Dokumentation
Die Online Audio - CD Datenbank ist eine Verwaltung, mit der es möglich ist, den
Bestand der Audio – CDs online an beliebigen Orten abzufragen und zu ergänzen.
Erforderlich dazu ist nur ein Internetzugang und ein Internet Explorer 5.5 oder höher.
Dem Nutzer der Datenbank stehen die Möglichkeiten „Eintragung“ und „Abfrage“ zur
Verfügung. Diese sind in der Auswahlbox „Modus“ im oberen Teil der Seite auswählbar.
Nach der Auswahl erscheint der spezifische Dialog für den ausgewählten Modus.
Abbildung 9: Startbild
a) Abfrage
Der Benutzer kann in diesem Dialog nur Teile oder vollständige Künstler- und Albumnamen eintragen. Das System sucht auch nach ähnlichen Einträgen, um
Tippfehlern vorzubeugen. Als Platzhalter kann ein „*“ eingetragen werden.
Ein Klick auf die Schaltfläche „Anfrage senden“ sendet die Anfrage an den Server, die Ausgabe wird unterhalb des Dialoges angezeigt.
Andreas Fey
Seite 13 von 18
Projekt für EOOVS
Abbildung 10: Anfrage an das System
b) Eintragung
Über den Modus „Eintragung“ lassen sich dem System neue Audio-CDs hinzufügen. Die mit (*) markierten Einträge sind Muss-Einträge, ohne die eine neue CD
nicht angelegt werden kann.
Um ein Cover mit in die Datenbank aufzunehmen, muss der Nutzer vor dem
Senden der Hauptinformationen zuerst eine Datei, die das Cover als .jpg oder
.gif Bildformat enthält, an das System senden (ähnlich einem E-Mail Anhang).
Nachdem dies erfolgreich bestätigt wurde, können die Textinformationen gesendet werden. Es erfolgt jeweils eine Bestätigung oder eine Fehlermeldung.
Achtung: Die Cover-Datei darf eine bestimmte Größe nicht überschreiten. Erfragen Sie diese bei Ihrem Systemadministrator.
Andreas Fey
Seite 14 von 18
Projekt für EOOVS
Abbildung 11: Eintragung einer CD in das System
5.2 Administrator - Dokumentation
Die Installation setzt einen laufenden Servlet Container, wie einen Apache Tomcat
voraus. Weiterhin benötigt wird eine SQL oder mySQL – Datenbank, die BLOBs unterstützt und JDBC – Treiber zur Verfügung stellt.
1. Anpassen der Parameter in dem Deployment-Descriptor der ocddb.war Datei auf die jeweiligen Einstellungen (Datenbank-Connect-String, IP des Servers,…), weitere Erläuterungen dazu später.
2. Kopieren der ocddb.war –Datei, welche die Servlets samt Index.html –
Seite enthält, in das entsprechende Verzeichnis des Servlet – Containers (Apache Tomcat: $CATALINA_HOME/webapps/)
3. Den jeweiligen JDBC – Treiber für die benutzte Datenbank in das Bibliotheken-Verzeichnis des Servlet – Containers installieren (Apache Tomcat: $CATALINA_HOME/lib)
Andreas Fey
Seite 15 von 18
Projekt für EOOVS
4. Ausführen des SQL-Skripts, welches in der Anlage beigefügt ist, um die benötigten Tabellen in der Datenbank zu erstellen (batch.sql für mysqlDatenbanken, batch-sqlplus.sql für SQL-Datenbanken.
5. In der Datenbank ist ein Benutzer anzulegen, über den ein Nutzer der OnlineCD-Datenbank später Einträge hinzufügen kann
6. Neustart des Servlet-Containers
Die Online-CD-Datenbank ist über die URL des Servlet-Containers erreichbar,,
standartgemäß:
http//[server-url]:[port]/ocddb/index.html
Deployment Descriptor
Sämtliche Konfigurationen für die spezifischen Server-Einstellungen sind in dem
Deployment Descriptor (\web.xml) zu finden.
<web-app>
<context-param>
<param-name>mysql_String</param-name>
<param-value>jdbc:mysql://127.0.0.1:3306/test</paramvalue>
<description>Adresse der MySQL - DB</description>
</context-param>
<context-param>
<param-name>server_IP</param-name>
<param-value>127.0.0.1</param-value>
<description>IP des Servers, auf dem die Servlets lau
fen</description>
</context-param>
<context-param>
<param-name>server_Port</param-name>
<param-value>8081</param-value>
<description>Port des Servlet-Containers</description>
</context-param>
<context-param>
<param-name>DB_User</param-name>
<param-value>admin</param-value>
<description>Benutzername fuer die DB</description>
</context-param>
<context-param>
<param-name>DB_User_Password</param-name>
<param-value>hy78uah</param-value>
<description>Kennwort
fuer
den
obigen
DB-Benutzer
</description>
</context-param>
<context-param>
<param-name>local_tmp_dir</param-name>
<param-value>/tmp</param-value>
Andreas Fey
Seite 16 von 18
Projekt für EOOVS
<description>lokales temp-Verz., auf dem das BLOB zwischengespeichert wird</description>
</context-param>
<context-param>
<param-name>driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
<description>JDBC-Treibername für DB-Verb.</description>
</context-param>
//. . .
</web-app>
Zu jedem Eintrag in den <context-param> Tags können unter <param-value>
die spezifischen Werte angepasst werden. Der Benutzer für die Datenbank muss
Schreibrechte für die benutzen Tabellen erhalten. Die weiteren Einstellmöglichkeiten
sind kommentiert und sollen daher hier nicht weiter erwähnt werden.
Andreas Fey
Seite 17 von 18
Projekt für EOOVS
6 Mögliche Ergänzungen
Die Online-Audio-CD Datenbank könnte durch eine Vorschau eines neu erstellten
Eintrages ergänzt werden. So hätte der Benutzer die Möglichkeit, vor der endgültigen
Eintragung eines Datensatzes zunächst seine vorab – Ansicht des Albums zu bekommen, nach der er entscheiden kann, ob alle Informationen korrekt eingetragen
worden sind und somit ein Senden der Informationen ausgelöst werden kann oder
noch eine Korrektur der Daten stattfinden muss.
Technisch zu lösen wäre dies auf folgendem Weg:
ƒ Das Web-Frontend erhält zusätzlich einen „Vorschau“-Button.
ƒ Nach Betätigung dieses Buttons wird ein zusätzliches Servlet aufgerufen, welches die Eingetragenen Informationen entgegennimmt.
ƒ Dieses emuliert die ask – Methode der Klasse DBConnector, indem die Daten nicht aus der Datenbank geholt werden, sondern die im vorigen Schritt
empfangenen verwendet werden.
ƒ Die gesendeten Daten werden so im Stil einer Abfrage im Web-Frontend angezeigt.
ƒ Der Benutzer kann nun die Daten in dem Eintrage-Dialog ändern und eine
neue Vorschau erzeugen lassen, oder durch Betätigen des „Senden“-Buttons
die Eintragung vollziehen.
Autor:
Andreas Fey
Email: [email protected]
Matrikel: 200632
Andreas Fey
Seite 18 von 18
Projekt für EOOVS
Herunterladen