Webseiten JSP Servlets Struktur

Java.getSkill()

Aktives Mitglied
Hallo,

Ich befasse mich seit kurzem mit JSP/Servlets und hätte da eine Frage.

ich nehme ein simples bildhaftes Beispiel:

Stellt euch vor, es gibt von einer index.jsp einen link ins admin.jsp, wo vorher user+pw gegen eine DB gecheckt werden. Nach dem einloggen befindet man sich nun in der admin.jsp und es sollen 4 Funktionalitäten zur Verfügung gestellt werden.
Neue Personen in die DB anlegen
Neue Autos in die DB anlegen
Personen bzw. Autos updaten oder löschen

Welche .jsp bzw. Servlet Dateien gibt es nun alles neben der admin.jsp?

z.B. neue Person anlegen:
auf index.jsp klick auf einen Button "Person erstellen"->NeuePersonErstellen.jsp Seite mit Formular wird geladen; submit klicken->neue Seite HolPersonDatenInBean.jsp um die Formular daten in eine UserDataBean.java zu speichern; forward zu CreateNeuePerson.java (Servlet) welcher dann wirklich mit einem Insert Statement in die DB schreibt

1 Formularseite, 1 Beans, 1 Jsp um in Beans zu schreiben und 1 Servlet für SQL/DB

1) Sieht es für die 3 anderen Funktionalitäten auch so aus??
2) Kann ich eine Beans für 3 verschiedene Formulare hernehmen, wenn die parameter die gleichen sind?
Auto hat Name und Person hat auch Name.
3) Kann ich mir für die 4 Funktionalitäten (Insert, update,...) nicht 4 verschiedene Methoden in einem Servlet erstellen und dann 0815 mit if else oder switch case schauen, welche der 4 Methoden jetzt aufgerufen werden soll?

thx, falls sich jemand Zeit für die Fragen nimmt :)
 

Atze

Top Contributor
Hallo,

Stellt euch vor, es gibt von einer index.jsp einen link ins admin.jsp, wo vorher user+pw gegen eine DB gecheckt werden.

Wer übernimmt denn die Autentifizierung? Machst du das selbst? Oder der Container (Tomcat)?

Welche .jsp bzw. Servlet Dateien gibt es nun alles neben der admin.jsp?

ich würd sagen:

login.jsp

createUser.jsp
editUser.jsp (könnte man auch in die createUser einbauen, gibt aber wieder kuddelmuddel beim warten)
showUser.jsp (eine liste zum anzeigen und ggf. löschen)

createCar.jsp
editCar.jsp (könnte man auch in die createCar einbauen, gibt aber wieder kuddelmuddel beim warten)
showCars.jsp (eine liste zum anzeigen und ggf. löschen)

vielleicht eine eigene error.jsp für den ernstfall :) die standard dinger sind so hässlich :)

alle servlets würde ich nicht einzeln in die db schreiben lassen, falls du die db wechselst oder anpassungen vornimmst musst du das auch nur an einer stelle machen. hier sollte es funktionen geben, die args für die db entgegennehmen und wirklich nur schreiben und lesen, also deine beans füllen

1 Formularseite, 1 Beans, 1 Jsp um in Beans zu schreiben und 1 Servlet für SQL/DB
die formularseite wäre doch auch ne jsp, oder nicht? :)

1) Sieht es für die 3 anderen Funktionalitäten auch so aus??
welche anderen 3?

2) Kann ich eine Beans für 3 verschiedene Formulare hernehmen, wenn die parameter die gleichen sind?
Auto hat Name und Person hat auch Name.
3) Kann ich mir für die 4 Funktionalitäten (Insert, update,...) nicht 4 verschiedene Methoden in einem Servlet erstellen und dann 0815 mit if else oder switch case schauen, welche der 4 Methoden jetzt aufgerufen werden soll?

kann man schon, wenn es nur eine kleine anwendung ist / bleibt und da nichts geändert wird, was aber eher unwahrscheinlich ist. falls du jedoch an den autos was hinzufügst oder irgendwo anders was änderst, vermatscht du dir alles andere auch. also besser wäre es gleich für verschiedene aufgaben auch separate servlets zu nehmen, macht das warten und erweitern einfacher, auch wenns zuerst mehr arbeit bedeutet
 

Java.getSkill()

Aktives Mitglied
Die Identifizierung des Users(admins in dem Fall) übernehme ich, indem ich username+pw aus formular mit username+pw aus db vergleiche.

Bezüglich der Anzahl der Dateien, gibt also doch keinen einfachen anderen Weg. Für jede Aktion eine neue Seite.

Mit den 3 anderen Funktionalitäten meinte ich einfach update, create, delete, insert, etc weil ich zur Zeit für jede dieser Aktionen eine ganz neue JSP bzw. Servlet habe.

Wie würde ich denn das machen, dass ich nur an einer Stelle den Treiber "lade" bzw Logindaten speichere und all die anderen JSPs und Servlets sich das immer von da holen?
Zur Zeit lade ich den Treiber, hole connection Objekt in jeder aufgerufenen jsp und servlet.

Wenn ich jetzt Formular A habe mit inputfields:
* Name
* Adresse
* email
* Ort

Formular B mit:
* Name
* Farbe
* Reifen
* Ort

und diese beiden Formulare werden vom User z.b. innerhalb von 1 Minute hintereinander ausgefüllt, kann ich da eine JavaBean mit

public class DataBean{
String name,adresse,farbe,email,reifen,ort;
}
erstellen?

Überschreibt nicht der Name von FormularB den Namen von FormularA?

Oder wirklich für 10 Formulare einfach 10 Beans ertellen?
 

Atze

Top Contributor
Die Identifizierung des Users(admins in dem Fall) übernehme ich, indem ich username+pw aus formular mit username+pw aus db vergleiche.

ok, überprüfst du das auf jeder seite? bzw hast du die jsp im/unterhalb des web-inf ordners, damit sie von aussen nicht sind?
sonst kann ein böser user die seite einfach durch die url erreichen, bspw anwendung/deleteUser.jsp
das sollte nicht möglich sein!!!

Bezüglich der Anzahl der Dateien, gibt also doch keinen einfachen anderen Weg. Für jede Aktion eine neue Seite.
Mit den 3 anderen Funktionalitäten meinte ich einfach update, create, delete, insert, etc weil ich zur Zeit für jede dieser Aktionen eine ganz neue JSP bzw. Servlet habe.

würd ich so machen, ja. sehe da auch keine andere möglichkeit außer rumgefrikel mit unterschiedlichen labels für die werte und fehlerträchtigen unterscheidungskrücken durch parameterübergaben und switch/case gefummel. ist nicht unbedingt schön

Wie würde ich denn das machen, dass ich nur an einer Stelle den Treiber "lade" bzw Logindaten speichere und all die anderen JSPs und Servlets sich das immer von da holen?
Zur Zeit lade ich den Treiber, hole connection Objekt in jeder aufgerufenen jsp und servlet.
den treiber könntest du auch beim start der anwendung laden und dann verfügbar machen, den musst du nicht immer neu laden. damit könntest du dir einen connectionpool anlegen und die bei bedarf eine der "globalen" connetions holen und in der session speichern, solaneg du sie brauchst

Wenn ich jetzt Formular A habe mit inputfields:
* Name
* Adresse
* email
* Ort

Formular B mit:
* Name
* Farbe
* Reifen
* Ort

und diese beiden Formulare werden vom User z.b. innerhalb von 1 Minute hintereinander ausgefüllt, kann ich da eine JavaBean mit

public class DataBean{
String name,adresse,farbe,email,reifen,ort;
}
erstellen?

Überschreibt nicht der Name von FormularB den Namen von FormularA?

du kannst ja nicht garantieren, dass der user nicht zwischen beiden formularen kacken geht, oder? außerdem hast du dafür doch eh unterschiedliche tabellen, oder? würd ich nochmal drüber nachdenken ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Benutzeranmeldung und personalisierte Webseiten Web Tier 2
H Daten von Webseiten bekommen Web Tier 6
M Wofür ist JSF eigentlich gemacht? Webseiten oder Webapps? Web Tier 29
T Model2-Architektur Servlets Web Tier 0
D Servlet EJBs in Servlets verwenden? Web Tier 4
S JSF, JSP, Servlets - ich verstehe nur noch Bahnhof Web Tier 4
M Best practice JSP und Servlets Web Tier 1
A Aufruf eines Servlets auf einer JSP Seite funktioniert nicht Web Tier 10
A Wartezeit nach Tomcat start wegen Servlets zu hoch Web Tier 2
T Einsteigerfragen zu Servlets/Webprogrammierung mit Java Web Tier 11
C Kommunkation Servlets/Browseraufruf Servlet Web Tier 4
U Servlet Allgemeine Frage zu Servlets Web Tier 2
T Tomcat mit Servlets Problem Web Tier 7
A Parameterübergabe an Servlet und Aufruf von Servlets per Java Code Web Tier 7
R Daten Streamen mit Servlets. Web Tier 4
J web.xml / Erreichbarkeit von Servlets Web Tier 6
F Richtiges Session Management mit Servlets Web Tier 4
S Architektur-Problem? 2 Servlets, ein Objekt Web Tier 4
S Ein ControllerServlet für andere Servlets - Sinnvoll oder nicht? Web Tier 34
D Servlets vor direktem Zugriff schützen Web Tier 2
O setDefaultUncaughtExceptionHandler in Servlets Web Tier 2
M Design-Frage: JSP, Servlets und CSS Web Tier 11
R File Einlesen mit jsp/servlets Web Tier 11
S Daten zwischen 2 Servlets aus 2 Webapplikationen teilen? Web Tier 17
D client-seitige Sessions mit Servlets Web Tier 5
M Bilder in Servlets Web Tier 8
U Grundaufbau der Webapp mit JSP/Servlets Web Tier 7
J Welcher WebServer(-anbieter) für Servlets? Web Tier 5
S Ablauffrage von Servlets Web Tier 2
G Kurze Frage zu Servlets&Struts Web Tier 4
L Massenaufruf ( 5000/s ) eines Servlets testen. Web Tier 4
G synchronized bei Servlets Web Tier 24
rambozola session attribut in servlets und jsps Web Tier 11
D Kann Servlets nicht kompilieren Web Tier 7
M Grundlegende Frage zu Servlets und JSPs Web Tier 12
R Struktur JSP-Anwendung Web Tier 4
G Baum-Verzeichnis-Struktur Web Tier 6

Ähnliche Java Themen

Neue Themen


Oben