# Servlet/JSP Chat -> geht das?



## achtim (20. Apr 2004)

Hallihallo

Um das vorweg zu nehmen - ich bin absolut kein Profi in der Thematik, deshalb auch meine Frage(n): Ist es mit Servlets/JSP grundsätzlich möglich ein ganz einfaches Chatmodul als Webapplikation zu erstellen?

Habe schon viel gegoogelt, aber ein schönes Tutorial o.ä. finde ich natürlich nicht... Vielleicht kann mir hier jemand den Grundaufbau/Grundidee verraten, welche Methoden müsste ich wofür z.B. im Servlet überschreiben usw.? Welche Klassen bräuchte ich zusätzlich noch?

Ich bin dankfür für jede Art von  :noe:  thx


----------



## achtim (20. Apr 2004)

P.S.: natürlich soll es erstmal eine gaaaaanz einfache Version eines solchen Chats darstellen, also praktisch nur das Grundprinzip  :wink:


----------



## Guest (20. Apr 2004)

Also einen Chat mittels Servlets und/oder JSP's schreiben geht sicher irgendwie, allerdings glaub ich dasses mittels Applets wesentlich leichter geht (rein vom g'spür her  )!

Ansonsten müsstest nach jedem mal texteingeben auf der Clientseite den String als form an ein Servlet schicken (doGet und / oder doPost überschreiben, am besten beide) das das ganze über die session (httpSession) einem Client zuordnet und an einen String dranhängt (vorhergehender text) und anschliessend an den client retourschicken. da der client aba eben nur ein html seiterl kriegt wird er vermutlich nciht mitkriegen ob andere was geschrieben haben sofern er nicht selbst wieder was schreibt.....

würds mit applets machen, da kannst über in und outputstreams arbeiten und so checken ob was neues daherkommt,... einen server aufsetzen der für jeden client einen thread startet und passt scho, geht dann ziemlich simpel


----------



## achtim (20. Apr 2004)

Ok, Danke erstmal! Bevor ich mich jetzt mit Applets überhaupt auseinandersetzte: Kannst Du mir irgendetwas empfehlen, wo ich z.B. ein gutes Tutorial o.ä. dafür bekomme?


----------



## Guest (20. Apr 2004)

hm, sorry hab das meiste aus irgendwelchen büchern, schule, internet, usw. eine gscheite adresse hab ich keine, einfach bisschen rumgoogln, werdn schon einige gscheite tutorials dabei sein,... für jsps war jsp for dummies recht nett  und die ganzen oreilly kurz&gut heftln sind auch nicht schlecht.
applets is a bissi umfangreicher denk ich, im grunde kommts aba nur auf einen HTML tag an, der dir das applet (eine javaklasse) in eine html seite einbindet. bin mit applets aber nicht sehr vertraut.


----------



## achtim (20. Apr 2004)

Ok! Nun dochnochmal etwas ganz anderes: Was wäre denn mal so eine klassische Sache (Übung für mich) die man mit Servlets machen würde/kann?


----------



## Guest (20. Apr 2004)

Naja du kannst so ziemlich alles mit servlets machen  jenachdem wie umfangreich dasses werdn soll. aber ich denk so ein klassiker is eine Zählseite: mit jedem request soll ein counter erhäht werden, ála: "Sie sind zum x. mal auf dieser Seite".

Aber auch bissi was interaktiveres is nett: html Formular wost 2 zahlen eingibst und nachdemstas verschickt hast kriegst da ergebnis präsentiert,.... is also alles möglich, von "hallo world!" bis a=b+c


----------



## achtim (20. Apr 2004)

so far so good.... und ein bißchen anspruchsvoller?  :bae:


----------



## Guest (21. Apr 2004)

oki 

einen kleinen datensatz in einer datenbak ablegen und mittels servlet auslesen lassen. 
oder:
jsp "begrüßt" dich, du gibst id und pw ein, welche mittels DB verifiziert werden, wenn erlaubt kommst zu einer seite wost die DB manipulieren darfst. alle steuerungen werden vom servlet erledigt, alle ansichten durch jsp (forward von servlet 2 jsp, nennt man dann mvc)
alle exceptions werden von einer jsp errorPage abgefangen und gaaanz schön dargestellt,...

bissi mehr fantasie


----------



## achtim (21. Apr 2004)

Hallo "gast" 

vielen Dank für deine Hilfe    aber jetzt gerade befasse ich mich doch noch mit Applets und bastle an einem Chat-Applet... (tut mir leid, dass ich doch nicht genau deiner aufgabenstellung folge)



> würds mit applets machen, da kannst über in und outputstreams arbeiten und so checken ob was neues daherkommt,... einen server aufsetzen der für jeden client einen thread startet und passt scho, geht dann ziemlich simpel



Seh ich das richtig, dass ich also 2 Klassen bräuchte

1. chatserver, die von Applet abgeleitet ist und auch ActionListener usw. implementiert für die Ausgabe in einem TextArea. Darüber hinaus eine statische Methode implementieren, mit der ich auch String in dem TextArea des Applets ausgeben kann

2. chathandler, die von Thread abgeleitet ist. für jeden Client einen Thread, wenn der client etwas schreibt, die o.g. statische Methode benutzen...

So oder so ähnlich?! thx


----------



## Guest (22. Apr 2004)

Servus hier "gast"  nebenbei nios@gmx.at, eigentlich bin ich heir eh irgendwie regt, aba null ahnung welches pw usw ich hab 

Also bezüglich chat:

1 Chatserver: is kein applet sondern nur ne kleine sammlung an klassen: nach dem starten des servers wird in einer endlosschleife (wntweder ein while(true) oder ein thread der durchgehend rennt) mittels der ServerSocket Klasse auf einen Client gewartet. sobald einer daherkommt wird mit dem resultierenden Socket objekt ein thread gefüttert und gestartet. dieser serverseitigige clientthread übernimmt dann die communic zum eigentlichen client, indem er durchgehend auf die streams hört ob was deherkommt. wenn ja wird des irgendwie an alle verteilt (irgendwas statisches, vielleicht nen statischen Stringbuffer den alle clienthreads haben, kA)

und der client selbst ist ein applet der userdaten entgegennimmt, eine verbindung zum oben erwähnten server startet und über ne nette gui die streams ein und ausliest 

Sofern du mal am verzweifeln bist, hab sowas ähnliches mal gschrieben, liegt allerdings irgendwo in irgendwelchen zips auf irgendwelchen cds


----------

