JavaServer Pages & JavaServer Faces

C

Cjls96

Gast
Was sind die Unterschiede von JSP und JSF? Kann man sagen, dass JSF einfach die Weiterentwicklung zu JSP ist? Was sind jeweils die Vor- und Nachteile?
Um eine Webapplikation zu schreiben, braucht man ja eine clientseitige und eine serverseitige Implementierung. Clientseitig kann die GUI aufgebaut werden und serverseitig die Logik dahinter, kann man das so sagen? Und in welche Kategorie lassen sich denn jetzt so Sprachen wie Java, JavaScript, HTML, CSS, JSP und JSF einordnen? Kann man alleine mit JSP/JSF eine Webapplikation gestalten, die optisch einen guten Eindruck macht? Also wie verhält es sich wenn man Bilder und Videos in die Webapplikation mit einbetten möchte, wo geht das besonders gut?
Vorausgesetzt es existiert bereits eine Webapplikation, die mit JSP geschrieben wurde, kann man diese denn nun auch mit JSF erweitern?
Und zum Schluss noch eine Frage zu den Servern: Um eine Webapplikation zu erstellen ist ja ein Server nötig. Was sind die Unterschiede von Tomcat zu Glassfish? Und können beide für JSP und JSF verwendet werden?
Ganz allgemein: wie ist die Vorgehensweise bei der Programmierung einer Webapplikation?
Ich hoffe, es nimmt sich jemand die Zeit meine Fragen zu beantworten. Bin wirklich dankbar für Antworten auf meine Verständnisfragen.
 
Puuuh. Du stellst Fragen...

JSP vs. JSF: https://www.google.de/search?q=jsp+jsf
Wie / wo man die Logik platzieren kann / sollte: https://www.google.de/search?q=business+logic+client+side

Java, JS, HTML, CSS, JSP, JSF: https://www.google.de/search?q=java+javascript+html+css+jsp+jsf

JSP Bild einbinden: https://www.google.de/search?q=jsp+include+image
JSF Bild einbinden: https://www.google.de/search?q=jsf+include+image
(analog verhält es sich mit Videos)

JSP / JSF Integration: https://www.google.de/search?q=jsp+and+jsf+integration

Tomcat vs. Glassfish: https://www.google.de/search?q=tomcat+glassfish

Tomcat mit JSP: https://www.google.de/search?q=tomcat+with+jsp
Tomcat mit JSF: https://www.google.de/search?q=tomcat+with+jsf
(analog verhält es sich mit Glassfish)

Vorgehensweise: https://www.google.de/search?q=vorgehensweise+programmierung+webapplikation



Das (heutzutage) Allerwichtigste(!) in Sachen Softwareentwicklung lautet: Google benutzen!
Es gibt (fast) nichts, was nicht schon mal irgendwo beantwortet wurde. Und speziell bei so weit verbreiteten Technologien wie Java JSF JSP wurden sämtliche Themen schon in tausendfacher Ausführung bearbeitet.
 
  • Gefällt mir
Reaktionen: Ebrithil
Aktuell trennt man Frontend (z. B. angular) vom Backend. Die Kommunikation findet über REST statt.
Unser build Server baut dann daraus docker images und spielt sie in openshift (Cloud) ein.

JSP verwendet niemand mehr. JSF vermutlich auch nicht.
 
wahli schrieb:
Aktuell trennt man Frontend (z. B. angular) vom Backend
Ich weurde eher sagen, dass es zwei Fraktionen gibt. Einmal die die Frontend und Backend trennen und einmal die, die es nicht machen. Fuer NodeJS gibt es mittlerweile Loesungen wo Frontend und Backend in einem entwickelt werden, ein Beispiel dafuer muesste Meteor sein.

Aber um auf die Fragen des TEs ein zu gehen:
ich selbst habe kaum Erfahrung mit JSP und JSF.
Aber ich gehe sehr stark davon aus, dass du mit beiden Technologien schoene Seiten erstellen kannst, da am Ende wie bei jeder Webseite HTML, CSS und JavaScript ausgeleifert wird.

Das macht deine Frage bezueglich wo Videos am besten laufen hinfaellig, denn wie gesagt, am Ende ist es ueberall HTML, CSS und JavaScript. Bezueglich der Performance und Kompatibilitaet von Medien ist der Browser der entscheidene Faktor. Nicht jeder Browser unterstuetzt jeden Codec bzw jedes Format.

Im bereich Java faellt mir fuer Webapplikationen direkt das Framework Spring Boot ein.
Dort kannst du sowohl Dynamisch generierte Seiten ausliefern als auch statische.
Dynamisch heist hier, dass der Server bereits das HTML vorbereitet, also z. B. Texte in einem Template schreibt.
Bei statischen Seiten werden immer die gleichen Sachen ausgeliefert und spaeter ueber REST-Requests angepasst.

Das Vorgehen bei der Entwicklung einer Webapplikation ist unterschiedlich und haengt von deinem Umfeld, den Anforderungen und noch ein paar anderen Sachen ab.

benneque schrieb:
Das (heutzutage) Allerwichtigste(!) in Sachen Softwareentwicklung lautet: Google benutzen!
Wahre Worte. Wobei leider viele Entwickler das vergessen. Manchmal muss man allerdings etwas Suchen.
Auch bezueglich Loesungen sollte man erst schauen ob es da nicht schon was gibt bevor man anfaengt.
Fuer vieles gibt es Frameworks, Templates oder vergleichbares was einen viel Arbeit abnimmt.
Neben Google sind StackOverflow und GitHub gute anlaufstellen.

Cjls96 schrieb:
Und zum Schluss noch eine Frage zu den Servern: Um eine Webapplikation zu erstellen ist ja ein Server nötig. Was sind die Unterschiede von Tomcat zu Glassfish?
Bei Glassfish und Tomcat handelt es sich um Webserver bzw Webserver Container. Diese bieten sich bei der Entwicklung mit Java an. Man kann allerdings auch eine Webapp entwickeln die kein Backend benoetigt. Da reicht dann ein Apache oder nginx aus. In der Welt von .NET oder Python setzt man auf andere Server, bei PHP kann auch ein Apache verwendet werden und und und.
 
Was empfehlt ihr aber beispielsweise in diesem Fall für eine Programmiersprache:
Ich will eine Webapplikation schreiben, bei der ein gewisses Szenario implementiert sein soll. Man soll in der Lage sein verschiedene Parameter einzustellen und aufgrund dessen soll das System getestet werden. Dann soll man sich das Ergebnis anzeigen lassen können. Der Systemtest und die Ausgabe wurde aber bereits programmiert und es existiert dazu schon eine Webapplikation, die in JSP geschrieben wurde und einen Tomcat Server verwendet. Ich will diese Applikation nun dahingehen erweitern das ich zu der graphischen Oberfläche der Webapplikation weitere Bilder und Videos hinzufüge, die das System veranschaulichen sollen.
 
Wenn das Teil schon in JSP existiert, dann erweitere es einfach in JSP. Macht am wenigsten Arbeit.

Viel mehr als 2-3 neue Seiten und einen Datei Upload brauchst du ja scheinbar nicht. Sollte auch für eine JSP Einsteiger in wenigen Stunden machbar sein.

Wenn es sich um statische Bilder handelt, dann brauchst du nicht mal einen Datei Upload und es wird noch einfacher.

Bilder in JSP anzeigen: https://www.google.de/search?q=jsp+display+image
Videos in JSP anzeigen: https://www.google.de/search?q=jsp+display+image

Bei den Videos gibt's ein paar unterschiedliche Möglichkeiten:
1. Du vertraust auf HTML5 und benutzt den Video Player des Browsers (zu empfehlen). Dann müssen die Videos im Zweifelsfall in mehreren verschiedenen Codecs vorliegen, damit die unterschiedlichen Browser damit klarkommen.
2. Du bindest einfach nur YouTube Videos ein (zu empfehlen). Das ist wohl die einfachste (und wahrscheinlich auch beste) Lösung.
3. Flash Video Player. Im Normalfall etwas einfacher einzurichten als HTML5 Video Player, aber läuft auf vielen modernen Browsern nicht mehr, oder die Benutzer kriegen nervige Fehlermeldungen / PopUp mit "Wollen sie das zulassen?"
 
Wenn Bereits sowohl Frontend als auch Backend zu einem grossen Teil besteht, verwende die selben Mittel wie bisher, in deinem Fall JSP.

benneque schrieb:
1. Du vertraust auf HTML5 und benutzt den Video Player des Browsers (zu empfehlen). Dann müssen die Videos im Zweifelsfall in mehreren verschiedenen Codecs vorliegen, damit die unterschiedlichen Browser damit klarkommen.
Wenn auf keine externen Quellen gesetzt werden soll waere das zu empfehlen. Da hat man aber immer wieder Probleme mit einzelnen browser, Codecs usw. Sollte also gut getestet werden.

benneque schrieb:
2. Du bindest einfach nur YouTube Videos ein (zu empfehlen). Das ist wohl die einfachste (und wahrscheinlich auch beste) Lösung.
Wenn YouTube verwendet werden kann, wuerde ich auch das empfehlen. Denn YouTube kuemmert sich bereits um alles was du beim HTML5 Player direkt selbst machen muesstest und darueber hinaus bietet es viele zusaetzliche Features

benneque schrieb:
3. Flash Video Player. Im Normalfall etwas einfacher einzurichten als HTML5 Video Player, aber läuft auf vielen modernen Browsern nicht mehr, oder die Benutzer kriegen nervige Fehlermeldungen / PopUp mit "Wollen sie das zulassen?"
Wuerde ich in jedem Fall von Abraten. Flash ist in meinen Augen eine reine Sicherheitsluecke. Wenn allerdings das Frontend jetzt bereits Flash verwendet, dann macht das auch keinen unterschied. Dennoch sollte beachtet werden, dass das Flash-Plugin in vielen Browsern nicht mehr vorhanden ist und das Flash wohl ab 2020 EoL sein soll.
 
Zurück
Oben