Was ist nötig für ein Java-Programm auf Server für Website

celdri

Mitglied
Hallo zusammen

bitte entschuldigt die vermutlich einfach Frage. Ich habe ähnliche Fragen und die Antworten schon oft gelesen, aber ich bin mir nicht sicher, ob ich das richtig verstehe.
Auf einer Website würde ich gerne einen Molmassenrechner einbauen. Das Java-Programm dafür habe ich schon geschrieben (mein erstes Programm, ich habe gerade erst mit Java bzw Programmieren allgemein angefangen, daher auch meine Ahnungslosigkeit). Dazu müsste man auf der Website eine Summenformel eingeben, etwa C2H6O, einen Button anklicken und dann soll auf der Website das Ergebnis 46.07 g/mol erscheinen. Wie schaffe ich es, dass ein Browser das Programm starten kann und das Ergebnis anzeigt? Ist JWS das richtige Stichwort und ist dafür wirklich Java EE nötig? Oder gibt es nicht doch eine einfach Möglichkeit, wenn nur das Verarbeiten eines Strings notwendig ist?

Vielen Dank und Grüsse
Celdri
 

mrBrown

Super-Moderator
Mitarbeiter
Ist JWS das richtige Stichwort und ist dafür wirklich Java EE nötig? Oder gibt es nicht doch eine einfach Möglichkeit, wenn nur das Verarbeiten eines Strings notwendig ist?
JWS ist eher ein falsches Stichwort, Java EE wäre ein passendes Stichwort, ist aber nicht zwingend nötig.

Möglichkeiten gibt es wie Sand am mehr. Welche davon passend ist, würde ich dabei im wesentlichen von deiner Erfahrung und davon, wie viel zu lernen willst, abhängig machen. Wenn du sehr am Anfang stehst und das eher so ein "One Shot"-Projekt ist und du danach nie wieder was mit Webentwicklung machen willst, sähe die Antwort anders aus, als wenn du zumindest grundlegende Erfahrung mit Projekten hast und Web auch eine Richtung ist, in der du weitermachen willst.

Ich würd deshlab auch noch gar keine Empfelung aussprechen – vielleicht kannst du ja etwas mehr zu deinem Background sagen.
 

celdri

Mitglied
Ich bin Chemiker (daher auch das Projekt) und habe in meinem Job eigentlich nichts mit Programmierung oder Webentwicklung zu tun. Als Hobby habe ich vor Kurzem mit Java ist auch eine Insel angefangen und möchte schon gerne damit weiter machen, wobei mich das für mich etwas undurchsichtige Lizenzmodell gerade etwas abschreckt.
Von Webentwicklung habe ich bis auf grundlegende HTML- und CSS-Kenntnisse bisher keine Ahnung, möchte aber gerne mehr lernen und dafür starten mit diesem Projekt, hätte aber noch ein paar Ideen, wenn das klappen sollte. Aber mir fehlen sicher viele Grundlagen, daher wäre ich über eine einfache Lösung erstmal sicher froh, bin aber immer interessiert mehr dazuzulernen.
 

M.L.

Top Contributor
So etwas *könnte* man mit HTML und JavaScript (nicht mit Java verwechseln...) lösen: der Nutzer gibt bei vorgegebenen chemischen Elementen "nur" einen ganzzahligen Wert ein, mit JavaScript berechnet man den mol-Wert (wobei bei Nichteingabe standardmässig der Wert "0" angenommen werden soll). Interne Berechnung dann z.B. 0*He + 2*C + 0*Na +6*H * 1*0 *..... (bzw. statt "He", "H", "Na",... dann die jeweilige Masse). Bei der Stringeingabe als solches darf man sich sonst mit Fehleingaben und Regexen befassen...
 

celdri

Mitglied
Vielen Dank für die Antwort. Ja, das wäre sicher möglich. Aber hinterher sollen mal noch etwas kompliziertere Rechnung gemacht werden und in Java habe ich das Auflösen des Strings und die anschließende Rechnung schon realisiert. Daher würde ich gerne wissen, wie ich das so über ein Java-Programm lösen kann, das auf dem Server läuft. Zum einen lerne ich es dann und kann das vielleicht noch weiter anwenden.
 
K

kneitzel

Gast
Nur, da JWS (Java Web Start) erwähnt wurde vom TE: Das ist ja abgekündigt von Oracle. Das sehe ich auch nicht wirklich als Lösung an für sowas.

Aber wenn das Ziel wirklich sein sollte, dass das Java Program per Web auf Client Computern ausgeführt wird, dann wäre https://openwebstart.com/ zu nennen.

Setzt aber natürlich voraus, dass es auf den Clients installiert ist, so dass dann eine JLNP Datei ausgewertet wird, die notwendigen Ressourcen herunter geladen werden und dann die Applikation lokal gestartet wird.

Die eigentlichen Lösungen sind genannt worden meine ich und es sollte einer dieser Wege eingeschlagen werden.
 

mihe7

Top Contributor
Wenn es nur darum geht... Das hätte ich allerdings etwas anders formuliert: Das OpenJDK ist Open-Source, kostenlos und praktisch die Basis aller Java-"Distributionen". Nun gibt es Anbieter, die eigene Builds erstellen und in dem Zusammenhang zusätzliche Dienste (ggf. auch Software) anbieten, die dann eben kostenpflichtig sind.

Sprich: willst Du Java mit vertraglich garantiertem Support, dann nimmst Du gegen Gebühr das Angebot des Anbieters Deines Vertrauens an, ansonsten wirst Du mit einer Open-Source-Variante glücklich. Neben dem OpenJDK gibt es freie Builds von z. B. AdoptOpenJDK, Bellsoft und Azul.
 

celdri

Mitglied
OK, danke, dann versuche ich mich mal über die beiden letzteren schlau zu machen.

Wovon sprichst Du?
Du hast bestimmt recht, wie du weiter unten den Unterschied erklärst. Für mich ohne Ahnung lese ich nur, dass bestimmte Teile in Java EE enthalten sind, die ich zumindest meiner Ansicht nach jetzt für mein Problem gebraucht hätte. Da ich das aber nur mal ausprobieren will, werde ich sicher nicht dafür zahlen, ich kann ja noch gar nicht abschätzen, was ich für mein Geld dann überhaupt bekomme. Eigentlich will ich nur ein bisschen Spass haben beim Java lernen. Und da schreckt mich das eben ab. Lieber wäre es mir, ich kann alles ausprobieren und sollte ich wirklich mal Geld damit verdienen (recht unwahrscheinlich), zahle ich von mir aus auch was dafür.

Aber wenn das Ziel wirklich sein sollte, dass das Java Program per Web auf Client Computern ausgeführt wird, dann wäre https://openwebstart.com/ zu nennen.
Vielleicht habe ich das falsch geschrieben, aber nein, ich hätte gerne, dass das Programm eben nicht auf dem Client sondern auf dem Server ausgeführt wird. Sonst braucht der Client doch Java, oder? Das würde ich eben gerne verhindern. Der Client soll nur das Ergebnis im Browser angezeigt bekommen.

An alle schon mal ein Dankeschön für die Diskussion!
 

LimDul

Top Contributor
Vielleicht habe ich das falsch geschrieben, aber nein, ich hätte gerne, dass das Programm eben nicht auf dem Client sondern auf dem Server ausgeführt wird. Sonst braucht der Client doch Java, oder? Das würde ich eben gerne verhindern. Der Client soll nur das Ergebnis im Browser angezeigt bekommen.

An alle schon mal ein Dankeschön für die Diskussion!
In dem Fall halte ich Java nicht unbedingt für die erste Wahl. Dann brauchst du einen Server (Tomcat etc.) der Java Anwendungen ausführt und ein entsprechendes Framework. Das nur für ein kleines Formular zu nutzen, wo etwas gerechnet werden soll, hört sich nach Overkill an - insbesondere da das mit den Standard-Webspaces auch nicht gehen wird. Da ist entweder Javascript oder PHP vermutlich die bessere Alternative.
 

mihe7

Top Contributor
Da ich das aber nur mal ausprobieren will, werde ich sicher nicht dafür zahlen, ich kann ja noch gar nicht abschätzen, was ich für mein Geld dann überhaupt bekomme.
Nochmal: man muss nichts bezahlen. Du lädst Dir von z. B. AdoptOpenJDK ein Java herunter, dann eine IDE und schon kannst Du damit machen, was Du willst.

Lieber wäre es mir, ich kann alles ausprobieren und sollte ich wirklich mal Geld damit verdienen (recht unwahrscheinlich), zahle ich von mir aus auch was dafür.
Selbst dann musst Du nichts bezahlen.
 

celdri

Mitglied
Nochmal: man muss nichts bezahlen. Du lädst Dir von z. B. AdoptOpenJDK ein Java herunter, dann eine IDE und schon kannst Du damit machen, was Du willst.


Selbst dann musst Du nichts bezahlen.
Da ich wie bereits geschrieben mein Java-Programm fertig habe, ist mir das soweit bewusst. Dennoch gibt es offensichtlich Teile, die ich nicht ohne Java EE verwenden kann. Aber das führt sehr weit weg von dem, was ich eigentlich wissen wollte, daher würde ich die Diskussion gerne dabei bewenden lassen.

Kurz zusammengefasst: Wenn ich ein Java-Programm auf einem Server laufen lassen und durch Interaktion mit einen Browser starten will, benötige ich einen entsprechenden Server (bspw. Tomcat) und ein entsprechendes Framework (bspw. Vaadin), richtig?
 

LimDul

Top Contributor
Da ich wie bereits geschrieben mein Java-Programm fertig habe, ist mir das soweit bewusst. Dennoch gibt es offensichtlich Teile, die ich nicht ohne Java EE verwenden kann. Aber das führt sehr weit weg von dem, was ich eigentlich wissen wollte, daher würde ich die Diskussion gerne dabei bewenden lassen.

Kurz zusammengefasst: Wenn ich ein Java-Programm auf einem Server laufen lassen und durch Interaktion mit einen Browser starten will, benötige ich einen entsprechenden Server (bspw. Tomcat) und ein entsprechendes Framework (bspw. Vaadin), richtig?
Im Kurzem: Ja (Auch für Java EE muss man übrigens nichts bezahlen, das nur am Rande).

EDIT: Nachtrag, man kann natürlich auch die Eingabe per HTML/Javascript/PHP entgegennehmen und per Serverseitiger Skriptsprache wie PHP ein Java Programm ansprechen - dann brauch man keine so enge Integration. Der Sinn sei aber mal dahingestellt.
 

mihe7

Top Contributor
Ergänzend zur Antwort von @LimDul: Du könntest auch selbst einen HTTP-Server schreiben oder eine entsprechende Bibliothek verwenden aber es ist nun einmal einfacher, einen Application Server zu verwenden, der einem das (und vieles mehr) abnimmt. Theoretisch müsste es auch möglich sein, die CGI-Schnittstelle eines bestehenden Web-Servers (z. B. Apache) zu verwenden. Das habe ich mit Java aber noch nicht versucht.
 

celdri

Mitglied
Danke nochmal an alle für die Hilfe!

Ach, ich glaube, ich weiß woher die Verwirrung kommt: Die "Enterprise Edition" ist keine spezielle oder gar kostenpflichtige Ausgabe von Java. Java EE ist einfach die Bezeichnung für eine Sammlung von Spezifikationen :)

Hmm, ich bin vermutlich tatsächlich verwirrt. Hauptsächlich wegen Artikeln wie diesem: Die Nutzung von Java ist nicht mehr kostenlos

Aber wenn ich das jetzt richtig gesehen habe, ist nur der Release Cycle angepasst worden und die längere Nutzung einer Version ist nun kostenpflichtig, wenn man Updates und Support möchte, korrekt?
 

mrBrown

Super-Moderator
Mitarbeiter
Hmm, ich bin vermutlich tatsächlich verwirrt. Hauptsächlich wegen Artikeln wie diesem: Die Nutzung von Java ist nicht mehr kostenlos

Aber wenn ich das jetzt richtig gesehen habe, ist nur der Release Cycle angepasst worden und die längere Nutzung einer Version ist nun kostenpflichtig, wenn man Updates und Support möchte, korrekt?
Der Artikel ist ja auch verdammt schlecht und falsch, der widerspricht sich ja sogar zum Teil selbst.

Die Änderungen betreffen nur das von Oracle bereitgestellte Oracle JDK, keines der anderen von zB AdoptOpenJDK, Azul, IBM, Amazon, Alibaba, BellSoft, oder SAP bereitgestellten JDKs.
Die Änderungen betreffen nur den produktiven Einsatz des Oracle JDKs, z.B. Software-Entwicklung und private Nutzung fallen beide nicht darunter.

Im wesentlichen ist die ganze Situation besser geworden:
Einmal sind die meisten vorher kommerziellen Features jetzt frei verfügbar, jeder kann sie wie er will nutzen.
Dazu sind die Lizenz-Bedingungen deutlich einfacher geworden: der produktive Einsatz ist kostenpflichtig, und nicht nur die Nutzung von kommerzeillen Features - was gefährlich war, da die zT in der normalen Java-Installation enthalten waren.


Um auf deine Frage zu antworten: kommerzieller Support (=u.a. längere Nutzung inklusive Updates) kostete schon immer. Brauchst du keinen kommerziellen Support, kannst du eine der frei verfügbaren Varianten nehmen, zB von den oben genannten. Die meisten bieten auch da langfristige Updates.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Freigabe von Ports auf Ubuntu bei Java API nötig? Java Basics - Anfänger-Themen 11
MiMa Dateitypen Umwandlungen Nötig? Java Basics - Anfänger-Themen 4
T Datentypen default ist int, cast zu byte nötig... Java Basics - Anfänger-Themen 2
L Library nötig, obwohl nicht in Java-Code verwendet Java Basics - Anfänger-Themen 4
S bei Integer mehr stellen als nötig ausgeben - 0006 Java Basics - Anfänger-Themen 5
A this immer nötig? Java Basics - Anfänger-Themen 5
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
V Durchschnittliche Volatility in Prozent für 4 Stunden berechnen Java Basics - Anfänger-Themen 14
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
C negamax-Algorithmus für Tic-Tac-Toe spielt manchmal falsch Java Basics - Anfänger-Themen 10
D Apache HTTPClient für alle Fälle Java Basics - Anfänger-Themen 41
J Layout Manager, welcher ist der Richtige für mein Program? Java Basics - Anfänger-Themen 1
J Fehlermeldung unverständlich für Jakarta Java Basics - Anfänger-Themen 17
M Minimax-Algorithmus für Vier gewinnt Java Basics - Anfänger-Themen 11
M GUI für Vier-Gewinnt. Java Basics - Anfänger-Themen 4
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2
R Operatoren Rechenoperation verwenden für Taschenrechner. Java Basics - Anfänger-Themen 32
Ostkreuz Counter für Booleanwerte Java Basics - Anfänger-Themen 8
B Regex Ausdrücke für Monate Java Basics - Anfänger-Themen 7
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
Jxhnny.lpz Randomisier für Buttons Java Basics - Anfänger-Themen 13
W Intuitive interface für Komponenten Java Basics - Anfänger-Themen 4
M "Class<T> clazz" im Constructor - auch für int möglich? Java Basics - Anfänger-Themen 7
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Code für Bezahlsystem (auch bei Offline Aktivität) Java Basics - Anfänger-Themen 7
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
M monte carlo Algorithmus für 4 gewinnt Java Basics - Anfänger-Themen 12
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
izoards Sortier Algorithmus für Bounding Box Elememte Links nach Rechts und von Oben nach Unten Java Basics - Anfänger-Themen 33
M generate Methode für Streams Java Basics - Anfänger-Themen 6
I Datenmodell für "Tags" Java Basics - Anfänger-Themen 6
Lion.King for-Kontrollstruktur für Pyramide Java Basics - Anfänger-Themen 8
B Mit Countdown Midnestdauer für Teilaufgabenerledigung erzwingen Java Basics - Anfänger-Themen 8
J File length als Prüfwert für Download Java Basics - Anfänger-Themen 5
K Spieleidee gesucht für Informatikprojekt - JAVA (BlueJ)? Java Basics - Anfänger-Themen 15
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
javamanoman Java für Online Banking Java Basics - Anfänger-Themen 12
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
I SQL / JPA Query für StartDate und EndDate Java Basics - Anfänger-Themen 1
T getMethode für ein Array Java Basics - Anfänger-Themen 2
Fats Waller Farben mixen für den Hintergrund ? Java Basics - Anfänger-Themen 1
H Suche jemanden für kleine Uni-Abgabe/ mit Vergütung Java Basics - Anfänger-Themen 1
K Für was braucht man die left und right shift operatoren? Was bringen die, also welchen Zweck haben die? Java Basics - Anfänger-Themen 15
N Api nur für Textdatein (.txt) Java Basics - Anfänger-Themen 2
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
R Ist Java das Richtige für mich? Java Basics - Anfänger-Themen 4
E Mittelquadratmethode für Hexadezimalzahlen Java Basics - Anfänger-Themen 1
P Einfacher regulärer Ausdruck (RegEx) für E-Mail-Adressen Java Basics - Anfänger-Themen 2
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
O Wie erstelle ich eine Instanz in einer Klasse für die ich die Instanz will? Java Basics - Anfänger-Themen 4
S BubbleSort für ArrayLists Java Basics - Anfänger-Themen 3
T Übungsbuch für Anfänger Java Basics - Anfänger-Themen 3
L Konzept für Quiz Java Basics - Anfänger-Themen 33
D Methoden Plathhalter für Integer in einer Methode Java Basics - Anfänger-Themen 19
B Datentyp für Einzelnes Objekt oder Liste Java Basics - Anfänger-Themen 9
D Welche GUI Library für eine Client Server Chat App Java Basics - Anfänger-Themen 14
T Algorithmus für Index mit min-Wert Java Basics - Anfänger-Themen 2
Aqtox Hallo ich muss für die Schule ein Wuerfell Duell erstellen jedoch habe ich ein fehler Java Basics - Anfänger-Themen 4
L loop für Namen Java Basics - Anfänger-Themen 11
kxrdelis Konstruktor für ein Rechtwinkliges Dreieck Java Basics - Anfänger-Themen 10
S Fehler bei Code mit SubStrings für mich nicht auffindbar. Java Basics - Anfänger-Themen 4
nevel Programm für die Summer der Zahlen 1- 1ß Java Basics - Anfänger-Themen 12
I Entity erstellen, die für API gedacht ist Java Basics - Anfänger-Themen 33
C Archiv für eigene Klassen Java Basics - Anfänger-Themen 9
A Junit Test für MysqlDataSource JDBC Java Basics - Anfänger-Themen 3
Animal-Mother BMI Rechner erstellen für W/M Java Basics - Anfänger-Themen 7
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
A Java die richtige Programmiersprache für mein Projekt? Java Basics - Anfänger-Themen 1
I DecimalFormat in Zahlenformat für Währung, habe 7,99, bekomme aber 7 Java Basics - Anfänger-Themen 4
L Methode für Zweidimensionale Arrays Java Basics - Anfänger-Themen 4
Kanaska Datentyp für Zahlenbereiche Java Basics - Anfänger-Themen 7
T Startbildschirm für ein Spiel erstellen Java Basics - Anfänger-Themen 0
U BestPractise für Deployment unter Windows gesucht Java Basics - Anfänger-Themen 12
lilrack UML Diagramm für Parkplatzverwaltung Java Basics - Anfänger-Themen 8
W Mehrfach das gleiche Attribut für ein Objekt erzeugen (mit verschiedenen Werten) Java Basics - Anfänger-Themen 2
B Generische Typen für dynamisches Formular Java Basics - Anfänger-Themen 3
T Vererbung Verschiedene Attribute für vererbte Klassen Java Basics - Anfänger-Themen 4
T Start-Activity für Java Maven Web-Anwendung festlegen Java Basics - Anfänger-Themen 2
T Alternative für switch case Java Basics - Anfänger-Themen 1
P Ressourcen für JSON & API Informationen? Java Basics - Anfänger-Themen 1
M Java Einstellung von Apache POI für MS Word Erstellung mit Eclipse Java Basics - Anfänger-Themen 6
L Compiler-Fehler SupressWarning für clone() Java Basics - Anfänger-Themen 6
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
B Methode für jede beliebe Entity erstellen Java Basics - Anfänger-Themen 7
D Ampel für Mitarbeiter zum An-/Abwesend zeigen Java Basics - Anfänger-Themen 28
T Wahrscheinlichkeiten für Slot Machine Java Basics - Anfänger-Themen 13
C Konvertierung des int typs in den double typ für die Ausgabe mit Nachkommastellen Java Basics - Anfänger-Themen 4
M Code nur für Cracks? Crack the Passwort Übung Java Basics - Anfänger-Themen 7
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben