JSP / Servlets

Joel

Legendäres Mitglied
Hallo Zusammen,

Ich würde gerne eure Meinung zum Thema JSP und Servlets hören.

Setzt ihr es bei euren Projekten ein? Was für Frameworks/Libraries setzt ihr ein (z.B. für Templates, AJAX, CMS, etc.)? Was für Datenbanken benutzt ihr und warum?

Wie komme ich an Projekte in diesem Bereich ran?

Ich hör in diesem Forum komischerweise nie etwas über Servlets und JSP. Alles dreht sich um PHP...

Greets,
Joel
 
Hi Joel

Ich arbeite seit längerem in der Softwareentwicklung mit Java und eben JSPs usw. Wobei ich nicht empfehlen würde, direkt mit Servlets zu arbeiten, da das ein wenig low-level ist. Aber es gibt viele Frameworks und Komponenten, die darauf aufbauen (z.B. JSF).

Konkret verwende ich im Moment Hibernate für Datenbankzugriffe, JSF für den View-Layer und Spring für die "Verdrahtung" und Konfiguration der Anwendung. Laufen tun die Anwendungen in einem Servlet-Container, konkret Apache Tomcat. Datenbank ist grundsätzlich eigentlich Wurscht wegen der JDBC-Abstraktionsebene.

Diese Software wird entweder direkt im Rechenzentrum des Kunden oder in unserem eigenen Rechenzentrum betrieben.

Und hier liegt wahrscheinlich auch der Grund, warum diese Technologie hier im Forum wenig diskutiert wird: Du brauchst zwingend einen Servlet-Container wie z.B. eben Tomcat. Diese Container sind z.T. sehr Ressourcenintensiv (RAM) und auch recht aufwändig zu konfigurieren und zu betreiben. Daher findest Du auch nur wenige Hoster, die so ein Hosting zu einem (für normale User) vernünftigen Preis überhaupt anbieten.

PHP braucht hingegen wenig Ressourcen und ist daher praktisch bei jedem Hostingangebot mit dabei.

Gruss
Sepp
 
Danke mal für die Antworten. Ich werde mir JSP und Struts, etc. noch anschauen...


Ich hab noch ein paar Fragen, welche mir im Kopf rumschwirren, vielleicht kann ja jemand eine beantworten..

Was denkt ihr zur Performance, ist sie wirklich *besser* als PHP?

Benutzt ihr Tomcat auch als HTTP-Server oder nur als Container und Apache als HTTP-Server?

Wisst ihr etvl. wie der Performance-Unterschied ist zwischen einem HTTP-Request auf ein Bild das von Apache geliefert wird und einem Request auf ein Servlet, welches ein existierendes Bild an den Client liefert?

Achtet ihr stets darauf, dass die ganze Applikation Thread-Safe ist?

Könnt ihr einen guten Hoster empfehlen wo man seine Servlets hosten kann?

Was gibts neues bei den Servlets/JSP. Mein Buch basiert auf Version 1.4, gibts bis zu Version 1.6 grössere Verbesserungen oder Änderungen?
 
QUOTE Danke mal für die Antworten. Ich werde mir JSP und Struts, etc. noch anschauen...

Struts würde ich heute nicht mehr unbedingt anschauen. JSF (Java Server Faces) ist der inoffizielle Nachfolger von Struts und im Gegensatz zu Struts ein "offizieller" Standard. Mehr Infos gibts bei java.sun.com



QUOTE Ich hab noch ein paar Fragen, welche mir im Kopf rumschwirren, vielleicht kann ja jemand eine beantworten..


Ich versuche es mal...


QUOTE Was denkt ihr zur Performance, ist sie wirklich *besser* als PHP?

Das kann man so generell überhaupt nicht sagen. Das hängt von vielen Faktoren ab, nicht zuletzt von der Art, wie man programmiert.
Ein Vorteil der Servlet-API basierten Anwendungen ist aber sicher die Möglichkeit, eine Anwendung relativ einfach zu clustern, also die Last auf mehrere Server zu verteilen. Bei Anwendungen mit sehr vielen Zugriffen kann das die Performance stark beinflussen. Macht aber keinen Sinn bei Anwendungen, die nicht unter hoher Last stehen.



QUOTE Benutzt ihr Tomcat auch als HTTP-Server oder nur als Container und Apache als HTTP-Server?

Wir haben immer einen Apache HTTP-Server vorgeschaltet.


QUOTE Wisst ihr etvl. wie der Performance-Unterschied ist zwischen einem HTTP-Request auf ein Bild das von Apache geliefert wird und einem Request auf ein Servlet, welches ein existierendes Bild an den Client liefert?

Weiss ich nicht, hängt aber sicher auch wieder von diversen Faktoren ab, z.B. Anzahl gleichzeitige Requests usw.


QUOTE Achtet ihr stets darauf, dass die ganze Applikation Thread-Safe ist?

Das auf jeden Fall. Du kannst ja nicht kontrollieren, wieviele Zugriffe parallel ablaufen. Wenn die Anwendung da nicht 100% Thread-Safe ist, ist schnell die Hölle los. Z.B. erhält der Client völlig sinnlose Antworten auf seine Anfragen.



QUOTE Könnt ihr einen guten Hoster empfehlen wo man seine Servlets hosten kann?

Mit externen Hostern habe ich da keine Erfahrung.


QUOTE Was gibts neues bei den Servlets/JSP. Mein Buch basiert auf Version 1.4, gibts bis zu Version 1.6 grössere Verbesserungen oder Änderungen?

Es kommen halt laufend neue Sachen dazu. Du findest die aktuellen Infos aber auch z.B. hier und brauchst nicht unbedingt ein neues Buch. Wichtig ist die Grundlagen zu verstehen.
 
QUOTE (muges @ Do 7.12.2006, 23:45)
QUOTE Danke mal für die Antworten. Ich werde mir JSP und Struts, etc. noch anschauen...

Struts würde ich heute nicht mehr unbedingt anschauen. JSF (Java Server Faces) ist der inoffizielle Nachfolger von Struts und im Gegensatz zu Struts ein "offizieller" Standard. Mehr Infos gibts bei java.sun.com




Welche Implementierung von JSF ist denn weit genug um sie einzusetzen?
Ich habe noch mit keinem der beiden Kandidaten (Struts, JSF) gearbeitet. Struts erscheint mir aber wesentlich "greifbarer" und es ist ja immer noch in Entwicklung.

Die Metapher "Server Faces" ist jedenfalls für meinen Sprachverstand absolut unbrauchbar.
 
Erst mal danke muges für die hilfreichen Antworten!


--

Ich habe noch einen Artikel über die Servlets-Performance gelesen, anscheinend sind reine Servlets *viel Schneller* als PHP:

http://www.heise.de/ix/artikel/2005/10/124/
http://www.heise.de/ix/artikel/2005/10/124/bild1.jpg

Man muss aber sagen, dass auch PHP ständig Fortschritte macht in der Performance. Für mich bieten aber Servlets viel mehr Möglichkeiten die Performance zu optimieren. z.B. könnte ich alle benötigten HTML-Templates und XML-Konfigurationen in den Speicher laden, sodass diese nicht bei jedem Aufruf gelesen werden müssen.
 
Du solltest nicht nach der Umgebung mit der besseren Performance suchen, sondern nach der Umgebung, in der du schneller besseren Code erzeugst.
Es ist meines Erachtens viel wichtiger, dem Kunden das Programm zu geben, dass er braucht als eine Umgebung zu wählen, die in irgendeiner akademischen Umgebung performanter ist.

Meine Erfahrung ist, das PHP getriebene Seiten sich zu 90% schneller anfühlen als JSP-getriebene Seiten.
Ich werde mir bei Gelegenheit mal den Orginalartikel anschauen, indem Perl und PHP behandelt werden.
 
Zurück
Oben