Java für Webseiten gut?

Moin Leute!

Ich habe vor einen Fernlerngang zu machen.
Das ganze hat den Titel „Internet-Betreuer“.
Der Kurs ist insofern okay, als das der Anbieter und der Kurs anerkannt im Sinne der Gesetzesbedingungen für Fernschulen sind (ZFU-Siegel).

Jetzt habe ich bei der Auflistung der Inhalte gesehen, dass neben allgemeinen Dingen wie Browser, Internetzugang, HTML usw. sehr stark auf Java-Programmierungen eingegangen wird.
Ein kleiner Kursabschnitt widmet sich JavaScript.

Über PHP, ASP und MySQL war da rein gar nichts zu finden, obwohl man angeblich anschliessend in der Lage sein soll Shops oder ähnliche Anwendungen zu programmieren.
Daraus schliesse ich, dass das mit Java auch möglich ist.

Es ist aber so, dass ich von Java als Programmiersprache für’s Web ehrlich gasagt nicht gerade überzeugt bin.

Mir ist häufig aufgefallen, dass z.B. eine per Java-Applet realisierte Navigation sehr lange lädt und man erstmal nur diesen hässlichen grauen Hintergrund sieht, bis die Links endlich verfügbar sind.
Viele D-HTML-Menüs sind grafisch viel besser und laden deutlich schneller.

Ausserdem hat die Bibliothek der Uni, an der ich studiere, eine Online-Suche für Bücher und andere Literatur.
Auch hier lädt und arbeitet die HTML-Version um einiges schneller als die Java-Version.

Daher frage ich mich:

Ist Java tatsächlich für Web-Applikationen empfehlenswert?

Oder soll ich auf den Lehrgang verzichten und mich stattdessen privat weiter mit PHP und MySQL beschäftigen?
(Schliesslich kostet das auch was, und ich möchte dafür nichts lernen, wa ich eh nicht anwende!)

Was meint Ihr dazu?

Gruss
Lanzelot

Hi Lanzelot,

die Realisierung von Shops u.ä. mit Java ist wie du schon sagst möglich, allerdings mit serverseitiger Java Programmierung. Die Applets, die du erwähnt hast laufen auf dem Clientrechner ab, und müssen erst über’s Netz geladen, und dann lokal gestartet werden (daher zunächst die grauen Felder).

Bei Java Server Pages und Servlets, erzeugen Java-Komponenten auf dem Server HTML-Output, der dann im Browser dargestellt wird, d.h. der Client „sieht“ nur HTML, das es sich nicht um statische HTML-Seiten handelt verrät im Prinzip nur die Dateiendung „.jsp“ (Wobei die auch nicht zwingend so in der URL auftauchen muss)

Daher frage ich mich:

Ist Java tatsächlich für Web-Applikationen empfehlenswert?

Das auf jeden Fall.

Oder soll ich auf den Lehrgang verzichten und mich stattdessen
privat weiter mit PHP und MySQL beschäftigen?
(Schliesslich kostet das auch was, und ich möchte dafür nichts
lernen, wa ich eh nicht anwende!)

Zu MySQL: Java und MySQL schliessen sich nicht aus. Man kann mit Java genauso auf Datenbanken zugreifen wie mit anderen Programiersprachen, ob das nun MySQL oder sonstwas ist ist egal.

Ob du den Lehrgang machen sollst oder nicht kann ich nicht sagen. Wenn du noch keinerlei Erfahrung mit Java hast, wirst du kaum von heute auf morgen eine komplexe Webanwendung programmieren können, schliesslich handelt es sich um eine ziemlich umfangreiche Sprache.
Wenn du die Technik einfach mal ausprobieren willst, man benötigt dazu lediglich eine Servlet Engine. Die von Apache ist kostenlos und es sind einige Beispielapplikationen dabei:
http://jakarta.apache.org/tomcat/index.html

gruss
Stefan

Hallo Lanzelot!

Über PHP, ASP und MySQL war da rein gar nichts zu finden,
obwohl man angeblich anschliessend in der Lage sein soll Shops
oder ähnliche Anwendungen zu programmieren.
Daraus schliesse ich, dass das mit Java auch möglich ist.

Ja, und zwar mit JSP, Servlets, Java Beans und EJB. JSP/Servlets sind mit PHP und ASP zu vergleichen. Normalerweise wird damit die Präsentationslogik realisiert (also HTML-Seiten generiert). Die Applikationslogik, also beispielsweise Zugriffe auf Datenbanken wird in Java Beans oder EJBs gekapselt.
Am einfachsten ist es, erst mal mit JSP anzufangen, unter http://www.heise.de/ix/artikel/2000/07/152/ findest Du ein nettes Tutorial.

Mir ist häufig aufgefallen, dass z.B. eine per Java-Applet
realisierte Navigation sehr lange lädt und man erstmal nur
diesen hässlichen grauen Hintergrund sieht, bis die Links
endlich verfügbar sind.

Stimmt. Eine Java-Applet ist eine Java-Applikation, die clientseitig im Browser ausgeführt wird, und das Laden kann schon etwas dauern. Serverseitige Java-Technologien laufen mit einem entsprechend ausgestatteten Server genau so schnell wie PHP oder ASP.

Viele D-HTML-Menüs sind grafisch viel besser und laden
deutlich schneller.

Für Navigationen und sonstigen Schnickschnack würde ich auch JavaScript anstatt Applets empfehlen. Und für „richtige“ Anwendungen werden sowieso so gut wie immer serverseitige Technologie eingesetzt.

Ist Java tatsächlich für Web-Applikationen empfehlenswert?

Vielleicht kann ich Dich mit den Argumenten meines Java-Profs für den Einsatz von JSP/Servlets überzeugen! :smile:

Portierbarkeit:
Servlets basieren auf der Java Servlet API und sind somit auf allen Plattformen einsetzbar, welche eine den Java konformen Anforderungen virtual Machine implementieren.

Mächtigkeit:
Die Nutzung von Java bedingt den Zugriff auf eine mächtige Klassenbibliothek, welche besonders Aspekte der Netzwerkprogrammierung begünstigt. Die Einbindung von Klassen oder Komponenten Dritter wird erleichtert.

Effizienz:
Servlets sind traditionellen Ansätzen der Webanwendungsentwicklung (CGI) hinsichtlich der Performance und des Ressourcenverbrauchs überlegen.

Sicherheit:
Java nimmt dem Webapplikationsprogrammierer Aspekte der Speicherverwaltung und Ressourcenkontrolle ab. Die Nutzung von Exceptions ermöglicht das Abfangen und die Analyse von Laufzeitfehlern. Webserver können einen Sicherheitsmanager implementieren, welcher sie vor dem unkontrollierten Zugriff durch Servlets schützt.

Eleganz:
Das objektorientierte Sprachparadigma, die Einfachheit der Servlet API und Mechanismen, welche spezielle Aspekte der Webanwendungsentwicklung berücksichtigen, tragen zur Einfachheit und Eleganz des Codes der Servlets bei.

Integration:
Eine enge Kooperation von Servlets mit dem Webserver, etwa im Bezug auf Rechtevergabe, Logmechanismen der Vergabe von Aliasen etc., ist möglich.

Erweiterbarkeit und Flexibilität:
Das Design der Servlet API ist so ausgelegt, daß diese einfach zu erweitern ist, so daß die Entwicklung nicht nur auf HTTP basierte Applikationen beschränkt bleiben muß.

Oder soll ich auf den Lehrgang verzichten und mich stattdessen
privat weiter mit PHP und MySQL beschäftigen?

Ich würde den Lehrgang auf jeden Fall besuchen, das ist doch eine tolle Möglichkeit, auch mal Java kennenzulernen! Danach kannst Du ja immer noch entscheiden, ob PHP für Deine Bedürfnisse besser geeignet ist. Bei professionellen und größeren Anwendungen würde ich mich persönlich jedoch immer für Java entscheiden.

Viele Grüße,
Tanja

Moin Tanja!

Danke für Deine ausführliche Antwort!

Ja, und zwar mit JSP, Servlets, Java Beans und EJB.

Ich wusste gar nicht, dass Java auch auf dem Server ausgeführt werden kann.
Das ändert natürlich die komplette Sachlage.
JSP und Servlets kannte ich zwar vom Namen her, aber ich hab’s nicht mit Java in Verbindung gebracht.

Auf jeden Fall auch danke für den Link!

Ich würde den Lehrgang auf jeden Fall besuchen, das ist doch
eine tolle Möglichkeit, auch mal Java kennenzulernen! Danach
kannst Du ja immer noch entscheiden, ob PHP für Deine
Bedürfnisse besser geeignet ist. Bei professionellen und
größeren Anwendungen würde ich mich persönlich jedoch immer
für Java entscheiden.

Nun, bei den Argumenten für Java wird ja PHP schon ganz schön in den Schatten gestellt.
Hört sich so an, als würde sich die Kohle für den Lehrgang lohnen.
Stimmt der Spruch von der „modernen Programmiersprache“ also doch.

Gruss
Lanzelot

Moin Stefan!

Danke für Deine ausführliche Antwort!

Ich wusste nicht, dass Java auch auf dem Server ausgeführt werden kann.
Das ändert natürlich die Sachlage.
.jsp und Servlets kenne ich vom Namen her, hab’s aber nicht mit Java in Verbindung gebracht

Wenn du noch keinerlei Erfahrung mit Java hast, wirst
du kaum von heute auf morgen eine komplexe Webanwendung
programmieren können, schliesslich handelt es sich um eine
ziemlich umfangreiche Sprache.

Okay, das kann ich nachvollziehen.

Allerdings ist es sicher ein guter Einstieg, der mir immerhin ein Zertifikat bringt.
Ich kann mich ja anschliessend noch weiterbilden.
HTML und PHP habe ich auch anhand von Büchern und interessiertem Ausprobieren gelernt Wenn ich durch den Lehrgang die Grundbegriffe verstanden habe, dann wird’s bestimmt auch weitergehen.

Danke auch für den Link!
Da kann ich ja schonmal ein bisschen rumprobieren.

Gruss
Lanzelot

…ergänzende Frage
Moin Leute!

Wie sieht’s denn mit den Providern und deren Servern aus?

PHP/MySQL findet man ja häufiger bei den kostenintensiveren Paketen, aber Java habe ich da (zumindest bewusst) noch nicht gesehen.

Kann/darf ich die Umgebung dafür selbst aufspielen oder gibt es da bestimmte Provider für?

Gruss
Lanzelot

Hallo!

Kann/darf ich die Umgebung dafür selbst aufspielen oder gibt
es da bestimmte Provider für?

Du brauchst einen speziellen Provider, außer Du hast beispielsweise in Deiner Firma einen Server, der direkt über eine Standleitung am Netz hängt.

Falls es für eine private Website sein soll, kannst Du es auch mal mit einem der folgenden kostenlosen Providern versuchen.

http://www.webappcabaret.com
NGASI oder Tomcat Engine
5 MB Webspace
mySQL Datenbank
XML Support: Cocoon 1.8.2
RMI, JMS, JNDI

http://java.isavvix.com/devspace.jsp
JSP engine (Apache Tomcat 4.0)
JDBC compliant relational database (with a database and data management tool)
XML APIs (javax.xml, org.xml, Apache Xerces, etc.)
Tag Libraries
10MB Web Space

http://www.mycgiserver.com
JSP, Servlets, EJB (zukünftig)
Apache Cocoon
Add-on libraries (XML/XSL, JDBC)
Hypersonic SQL
5MB Web Space

Bei einer kommerziellen Lösung würde ich aber einen professionellen Anbieter empfehlen. Unter http://www.jsp-develop.de/hosting/ findest Du eine Übersicht mit Bewertung.

Grüße, Tanja

Moin Tanja!

Mal wieder danke für Deine ausführliche Antwort!

Du brauchst einen speziellen Provider

Hab’s mir schon fast gedacht.
Allerdings hatte ich auch gedacht, dass die dann teurer sind als die mit PHP (weil’s eben professioneller ist).

Deine Links zeigen aber, dass das gar nicht so ist.
Vor allem die kostenlosen Provider sind für den Anfang schonmal viel wert.

Gruss
Lanzelot