Zum Inhalt springen
Der Guide für ein smartes Leben.
Tasten klappern

Teil 4: Chatsystem unter AJAX

Autoren: Redaktion pcmagazin und Alexander Scheb • 26.2.2007 • ca. 1:00 Min

Als Nächstes braucht das Chat-System zwei Klassen, um Nachrichten zu speichern. Die Klasse Nachricht speichert die eingegebenen Daten. Jede Nachricht erhält durch die Methode currentTimeMillis() eine eindeutige IDKennung in Form der aktuellen Uhrzeit. Der Programmierer ruft diese ID-Kennung über ...

Als Nächstes braucht das Chat-System zwei Klassen, um Nachrichten zu speichern. Die Klasse Nachricht speichert die eingegebenen Daten. Jede Nachricht erhält durch die Methode currentTimeMillis() eine eindeutige IDKennung in Form der aktuellen Uhrzeit. Der Programmierer ruft diese ID-Kennung über die Methode getId() ab. Den Inhalt des Nachrichten- Objekts rufen Sie per getText() ab.

Chatsystem unter AJAX
Nachrichten: Die erste HTML-Seite, die mit einem Eingabefeld und einer Schaltfläche auskommt, verarbeitet die gesammelten Neuigkeiten.
© Archiv

Die Nachricht speichert die String-Variable text, während Sie die Uhrzeit in der Variablen id vom Typ long unterbringen. Ein Objekt dieser Klasse erzeugen Sie mit einem Konstruktor. Dem Konstruktor ist ein String-Objekt als Parameter anzugeben, welcher die zu speichernde Nachricht darstellt. Also schreiben Sie den Sourcecode der Klasse Nachricht:

public class Nachricht
{public Nachricht(String neuertext)
{text = neuerwtext;
if (text.length() > 256)
{text = text.substring(0, 256);}
text = text.replace('<',
'[').replace('&', '_');}
public long getId()
{ return id; }
public String getText()
{ return text; }
long id = System.currentTimeMillis();
String text;}

Nun soll die Hauptklasse des Chats die Nachrichten verarbeiten. Dazu speichern Sie jede Nachricht in der Collectionklasse LinkedList mit der Methode addMessage(). Die Methode getMessages() liefert die Objektliste aller Nachrichten zurück. In der Variablen messages vom Typ LinkedList speichern Sie vorläufig die gesamte Liste. Dies im Detail:

import java.util.LinkedList;
import java.util.List;
public class Chat
{public List addMessage(String text)
{if (text != null &&
text.trim().length() > 0)
{messages.addFirst(new
Message(text));
while (messages.size() > 10)
{messages.removeLast();} }
return messages; }
public List getMessages()
{ return messages; }
private static LinkedList messages =
new LinkedList(); }