Java Servlet - Umgang mit Verlinkungen

Status
Nicht offen für weitere Antworten.

pcuser

Mitglied
Hallo,

ich habe eine Weile hier im Forum gesucht, aber leider keine geeignete Antwort gefunden. Deshalb möchte ich hier ein neues Thema erstellen.

Ich bin dabei eine Anwendung mit Hilfe von Java Servlets zu erstellen. Dabei möchte ich bewusst auf JSP verzichten. Mein Ziel ist es, so sauber wie möglich zu programmieren. Leider bin ich auf diesem Gebiet noch nicht so erfahren. Darum nun endlich zu meiner Frage. ;-)

Bei meiner Webanwendung sind natürlich einige Links und Formulare vorhanden. An welche URL sollte ich meine Requests senden? Sollte ich eine Klasse erstellen welche sämtliche Anfragen und Antworten verarbeitet und zusammenführt? Oder kann man dies nicht so pauschal behandeln und es ist abhängig von der Komplexität der Anwendung? Gibt es irgendwelche Strategien, Techniken oder Informationsquellen die mir diese Fragen beantworten?

Ich bin gespannt auf eure Antworten.

Viele Grüße,
pcuser 🙂
 
Hi,
darf ich fragen, wieso Du bewusst auf JSPs verzichten willst? Evtl weil die eh in Servlets übersetzt werden?

Wenn Du sauber programmieren willst, dann schau Dir mal das "Model 2" Pattern an. Dort hast du (jedoch) JSPs für die View, ein Servlet dient als Controller und nimmt deine Requests bzw. Parameter entgegen und leitet sie an Javabeans weiter. Diese machen dann die eigentliche Arbeit wie Daten aus der DB lesen usw.

Cu
Alex
 
pcuser hat gesagt.:
... Ich bin dabei eine Anwendung mit Hilfe von Java Servlets zu erstellen. Dabei möchte ich bewusst auf JSP verzichten. Mein Ziel ist es, so sauber wie möglich zu programmieren. Leider bin ich auf diesem Gebiet noch nicht so erfahren. Darum nun endlich zu meiner Frage. ;-) ...
Sauber wird es alleine mit Servlets nie, da habe ich bereits die übelsten Erfahrungen gemacht. Bei der ersten Version der WebAPI hat es Sun damit vergeigt, daß man den ganzen Code in Servlets reindrücken musste. Nachdem das Mißgeschick erkannt war gab es in der nächsten Version JSP. Mehr aus Fehlern aus der Vergangenheit, als aus purer Überlegung entwickelten sich aus JSP und Servlets die seltsamsten Architekturen, wie auch Model2. Propagiert wird diese Architektur m.E. nur deshalb, um sich von den üblichen MS-Patterns abzuheben.

Am saubersten ist eine Webapp m.E. unter Anwendung eines Frontcontrollers in JSP Front Strategy, wie es in ASP bereits vor JSP-Zeiten gemacht wurde. Also eher View und dessen Logik nur in der JSP abbilden und Servlets für spezielle Sachen, wie z.B. Streaming verwenden.
 
WeirdAl hat gesagt.:
Hi,
darf ich fragen, wieso Du bewusst auf JSPs verzichten willst? Evtl weil die eh in Servlets übersetzt werden?
Wenn du den Grund jetzt so erwähnst, dann könnte dieser auch passen. ;-) Ich glaube aber nicht, dass meine Webanwendung so umfangreich wird und ich ein Performanceproblem verspüre. Eher ist das ein persönliches Problem, da ich etwas eigensinnig bin. 🙂 Vermeiden möchte ich nur, dass ich bei jedem Link eine andere Servletklasse aufrufe und der ganze Code unübersichtlich wird.


WeirdAl hat gesagt.:
Wenn Du sauber programmieren willst, dann schau Dir mal das "Model 2" Pattern an.
Danke. Das werde ich mir mal ansehen. Vielleicht lass ich mich doch auf JSP ein.

Viele Grüße
 
pcuser hat gesagt.:
An welche URL sollte ich meine Requests senden?

Sowohl für Servlets, als auch für JSP kannst du Servlet-Mappings in der 'web.xml' mit URL-Pattern hinterlegen. Z.B. mit dem Pattern '*.x' erreichst du, dass jede Anfrage, die auf '.x' endet (egal ob aus der URL-Leiste des Browsers oder aus einem JSP-Link) auf das gewünschte Servlet geleitet wird.
 
HLX hat gesagt.:
pcuser hat gesagt.:
An welche URL sollte ich meine Requests senden?

Sowohl für Servlets, als auch für JSP kannst du Servlet-Mappings in der 'web.xml' mit URL-Pattern hinterlegen. Z.B. mit dem Pattern '*.x' erreichst du, dass jede Anfrage, die auf '.x' endet (egal ob aus der URL-Leiste des Browsers oder aus einem JSP-Link) auf das gewünschte Servlet geleitet wird.

Der Tipp ist sehr interessant. Damit könnte ich die Requests an eine beliebige Servletklasse weiterleiten und nach Abarbeitung der Businesslogik eine Klasse definieren über die alle Responses laufen, um zumindest den Überblick darüber (Antworten) zu behalten.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben