nun wurde ich durch die auftragslage gezwungen zu versuchen einen chat zu erstellen - einzigstes problem:
der chat darf nicht auf cgi laufen und sollte nach möglichkeit am besten nur nach HTML gehen...
Du formulierst das so, als sei "CGI" ein Betriebssystem (statt einer davon erfreulich unabhängigen Schnittstelle) und "HTML" ein Rechner (statt einem Datenformat). Was genau meinst Du damit?
frage dazu: ist es irgendwie möglich einen chat nur mit HTML (oder ggf. mit Java/JS) zu programmieren?
Was muß ein Chat können? Daten von A nach B transportieren und zurück.
Es kommunizieren aber sinnvollerweise nicht A und B miteinander, sondern beide kommunizieren mit (mindestens) einem Chat-Raum.
Also sollte auf dem Chat-Server irgendjemand die Daten von A entgegennehmen und für B zur Verfügung stehen. Ich kann mir nur schwer vorstellen, unter diesen Randbedingungen ohne eine serverbasierte Intelligenz mit dynamischem Gedächtnis auszukommen, welche die Daten von A speichert (und womöglich noch kontrolliert, ob B sie überhaupt sehen soll etc.).
HTML alleine reicht jedenfalls ganz bestimmt nicht, und auch (clientseitiges) JavaScript hilft nicht weiter.
Ob diese Kommunikation nun zwischen einem Browser und einer CGI-Anwendung oder zwischen einem Java-Applet und einem Java-Servlet (?) abläuft, das ist dann ein m. E. untergeordneter Aspekt des Modells.
Ich würde Java eigentlich eher wegen der Möglichkeiten bevorzugen, eine schönere interaktive Oberfläche bauen zu können als mit plain HTML, und weil ich ein Mehrprozeßsystem (mit z. B. einem Partnerprozeß zu jedem Chatter) wahrscheinlich mit Java-Objekten eleganter modularisieren kann als mit Perl (naja, wenn man dessen Objekt-Features ausreizt, ist es vermutlich auch wieder egal). Aber jedenfalls nicht, weil ich keine Lust auf CGI hätte.
Deshalb finde ich es etwas unverständlich, wieso CGI so kategorisch ausscheiden soll. Was immer statt dessen verwendet werden wird, das wird auf dem Server relativ ähnliche Effekte auslösen, wie CGI das getan hätte.
Und an einem Java-Chat könnte ich hinter einer filternden Firewall nicht teilnehmen - CGI dagegen findet letzten Endes allein auf dem Server statt und "spricht" nach außen ggf. reines "friedliches" HTTP und HTML.