Hallo Namensvetter!
JSP/Servlets haben gegenueber PHP4 z.Zt. den Vorteil, dass man Business Logik und Praesentation besser trennen kann - z.B. mit benutzerdefinierten Tags.
Wie meinst Du das genau? Wenn irgendwo im Designder "Vorname" erscheinen soll, füge ich den in PHP mit <? $vorname ?> ein. Wie macht man das in JSP einfacher? Und der Restliche Code steht dann doch auch an anderer Steller in der Datei, genau wie in PHP, oder? Aber wenn ich z.B. in PHP eine aus einer DB generierte Tabelle erstellen will, dann ist das ein ganz schöner Mischmasch, die Abfrage und der PHP-Code schreibe ich dann halt vor die Tabelle, und die eine Zeile mit den Variablen muß ich mit einer Schleife umschließen. Ist unschön für ewinen Designer, aber geht das überhaupt andes in JSP?
Aber auch mit Beans laesst sich schon einiges machen. Damit kann man den Mix aus HTML und Java Code besser trennen. Ist meiner Meinung nach auch für den Designer angenehmer mit wenig "fremden" Code vom Programmierer umgehen zu muessen.
Nur kurz - was sind BEANS?
Zudem kann man so z.B. Datenbankabfragen besser auslagern. In den meisten Faellen werden in PHP, ASP oder auch ColdFusion die SQL-Statements direkt in der PHP (asp,cfml) Datei hinterlegt. Das ist für den Designer unschön und bei größeren Projekten wird es schwieriger den Ueberblick zu behalten.
Naja, das finde ich auch gar nicht so dumm! In eben dieser Datei beziehe ich nich ja auch auf die Abfrage, und wenn jetzt irgendjemand in einer anderen Datei was an der Afrage ändern könnte, dann funktioniert die Datei auf einmal nicht mehr! In welcher Form werden die Abfragen denn ausgelagert? Ich könnte die Abfrage ja auch in der Datei abfragen.inc speichern, die dann so aussieht:
<?
$warenkorb_auslesen="SELECT FROM warenkorb....";
$bestellung_speichern="INSERT INTO bestellungen...";
usw.
?>
diese dann über
include "abfrage.inc";
in die eigentliche Datei einbinden und dann kann ich auf alle Abfragen zurückgreifen, wie ich will! Was ist da jetz der Unterschied zu JSP?
Nebenbei: Wie hinterlegt man in PHP am guenstigsten das Passwort fuer Datenbankverbindungen? Die Datenbankverbindung zusammen mit dem Passwort in einer Datei unterhalb des documentroot zu hinterlgen ist ja auch nicht so elegant, oder?
Ich mache das in einem Verzeichnes, welches nicht pber das Web erreichbar ist. Wenn Du das nicht hast einfach über ein anderes Verzeichnis, z.B. www.server.de/nicht_für_die_öffentlichkeit/
und dieses dann über htaccess schützen, ist aber nicht 100%ig sicher, da htaccess nur bei web-zugriffen eingreift.
Serversetitig benoetigt man für JSP/Servlets einen speziellen Web-Server mit JSP-Engine oder es wird ein vorhandener mit aufgesetzter Engine genutzt. Dazu zaehlen z.B. Tomcat, Resin (von caucho) oder auch JRUN.
Ah, die namen habe ich schon gehört :-) Wie sind denn Solche Server im Vergleich zu Apache/PHP?
Es gibt immer noch wenige Hoster die JSP/Servlets in Ihr Angebot mir aufnehmen und diejenigen die es anbieten verlagen dafür (zurecht) mehr Geld. Such mal bei der webhostlist nach Anbietern mit Servlet Unterstützung. Dort wird man fuendig.
Ah, Danke! hab zwar erstmal genug mit PHP zu tun, aber vielleicht wird JSP ja mal ne Alternative!
Vielen Dank!
Grüße
Andreas