Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie Servlet an Applikation anflanschen?



Jörn
02-11-2006, 19:00
Hi,

ich habe eine Applikation die u.a. folgende Klassen hat:

User: Klasse für einen Datensatz
Container: enthält einen Vector mit Objekten vom der Klasse User, sowie sämtliche Zugriffsroutinen auf diesen Datenbestand.


Zumdem habe ich mehrere Servlets die eine Anbindung ans Web und somit eine einfachte Konfiguration (hinzufügen, löschen usw) ermöglichen sollen.
Die Frage is nur, wie erreiche ich es nun, dass ich die Container-Klasse an meine Servlets anflanschen kann, so dass ich auf die ganzen Routinen Einfluss nehmen kann und vom Servlet aus direkt User hinzufügen, löschen usw kann.


Wäre super wenn mir jemand helfen könnte!

ptr
03-11-2006, 06:42
Beschreib mal bitte etwas genauer, auf was für einen Datenbestand (Datenbank oder Dateisystem) zugegriffen wird.

Im Großen und Ganzen gibt es zwei Möglichkeiten. Du kannst einfach deine Zugriffsklassen kopieren, und sie in deinem Servlet benutzen (musst nur darauf achten, dass es mit der Synchronisation der Daten klappt) oder du schreibst eine Schnittstelle, die zu der Applikation gehört. Diese Verwaltet dann die Zugriffe auf den Datenbestand (Server-/Clientanwendung).

Eine etwas genauere Beschreibung deines Problems wäre hilfreich ;)

Jörn
03-11-2006, 09:54
Hi ptr,

also hier noch mal ein bissl ausführlicher:

Klasse User, ein Datensatz (Benutzername + Attribute)
Klasse Users die alle Objekte von User in einem Vector hält
Klasse XMLFacade, diese erstellt mit Hilfe von XStream eine XML-Datei von Users. So dass die ganzen User auf der Platte in einer XML-Datei gespeichert werden.

Joar, das wars grundsätzlich. Dann eben Servlets wie Register.
Dieses kann man über eine JSP-Page ansprechen, der Benutzer kann sich über ein Formular registrieren, dieses wird eben mit POST abgeschickt und vom Register-Servlet bearbeitet. Jetzt müsste ich im Register-Servlet nur noch die Möglichkeit haben auf die addUser-Methode aus Users zuzugreifen, damit er ein neues Objekt von User erzeugt und es in den Vector mit aufnimmt (und ggf. danach XMLFacade den ganzen Mist wieder auf Platte ballert).

Hoffe es ist ein wenig verständlicher :)

ptr
03-11-2006, 11:06
Du hast also keine Datenbank, sondern eine XML-Datei. Daher muss/sollte die Datensynchronisation an einer zentralen Stelle (von deinem Programm) gemacht werden. Eine Möglichkeit die Methoden deiner Users-Klasse aufzurufen ist RMI (Remote Method Invocation)
http://java.sun.com/javase/technologies/core/basic/rmi/index.jsp
http://java.sun.com/j2se/1.3/docs/guide/rmi/getstart.doc.html

Hoffe es hilft dir weiter.

Jörn
03-11-2006, 11:39
Hi,

danke für deine schnelle Antwort.
Das sieht ja schon mal sehr gut aus.

Danke!

anda_skoa
03-11-2006, 14:24
Wenn nur das Servlet schreiben auf die Daten zugreift, könnte ein statischer Member der Klasse Users in der Servletklasse reichen, entsprechend synchronisiert versteht sich.

Ciao,
_