Einsteigerfragen zu Servlets/Webprogrammierung mit Java

Trolli91

Mitglied
Hallo liebe Wissensgemeinschaft,

in der Uni haben wir eine Aufgabe bekommen, welche sich auf die Webprogrammierung mithilfe von Java bezieht. Konkret geht es darum ein Onlinequiz zu erstellen. Bisher hatten wir in der Universität lediglich einen Monat Java-Unterricht (bei 3 Wochenstunden) und noch keinerlei Unterricht bezüglich Servlets.
Diesen bekommen wir erst im Februar, Abgabe der Arbeit ist jedoch schon im März ;)
Aus diesem Grunde würde ich mir gern einen Vorteil in der Zeit verschaffen. Bisher habe ich ein grundlegendes Programm mit Datenbankanbindung (wurde gefordert) geschrieben, in denen Fragen gespeichert und abgerufen werden. Dies habe ich mit Eclipse und MYSQL realisiert. Innerhalb von Eclipse funktioniert das ganze wunderbar, allerdings soll es ja eine Webanwendung werden. Hierfür habe ich mir bereits Grundlagen in HTML angeeignet und eine Testwebsite online gestellt.
Nun habe ich aber noch garkeine Ahnung wie ich mein Programm online stellen kann und darüber eine Weboberfläche lege.
Habe mir hierfür bereits ein wenig Verständnis für Servlets verschafft. Das allein bringt mich jedoch nicht weiter :)
Nun beende ich aber meine lange Vorrede und komme zur eigentlichen Frage:
Was benötige ich alles um meinen Programmcode online zu stellen? Dies bezieht sich auf die Programme die ich benötige, sowie Kenntnisse über welche Themen. Schön wäre es wenn es möglich wäre, eine Website mit HTML zu erstellen und dann ganz bequem verschiedene Button drücken zu können mit deren Hilfe im Hintergrund der Code ausgeführt wird und das ganze grafisch wiedergegeben wird, beispielsweise mit einen aufpoppendem Fenster, oder indem sich der Inhalt eines Textfeldes ändert ("Glückwunsch, Frage richtig beantwortet" zum Beispiel ;-) )

Ich würde mich wirklich sehr freuen wenn da jemand eventuell sogar einen Link zu einer Website hat in der ein Tutorial ist, in dem ein Beispielprogramm online gestellt wird :)
Habt Dank für das Lesen meiner Frage.

Liebe Grüße
Trolli91

ps.: Aufgabe ist wirklich das ganze mit Java online zu stellen(Javascript beispielsweise ist tabu)
ps2: So ganz sicher bin ich mir nicht ob ich hier richtig bin, da sich mein Hauptproblem aber auf Servlets bezieht hoffe ich das es so stimmt.
 
Zuletzt bearbeitet:

JavaProfi

Aktives Mitglied
Hallo liebe Wissensgemeinschaft,
Was benötige ich alles um meinen Programmcode online zu stellen? Dies bezieht sich auf die Programme die ich benötige, sowie Kenntnisse über welche Themen. Schön wäre es wenn es möglich wäre, eine Website mit HTML zu erstellen und dann ganz bequem verschiedene Button drücken zu können mit deren Hilfe im Hintergrund der Code ausgeführt wird und das ganze grafisch wiedergegeben wird, beispielsweise mit einen aufpoppendem Fenster, oder indem sich der Inhalt eines Textfeldes ändert ("Glückwunsch, Frage richtig beantwortet" zum Beispiel ;-) )

Ich würde mich wirklich sehr freuen wenn da jemand eventuell sogar einen Link zu einer Website hat in der ein Tutorial ist, in dem ein Beispielprogramm online gestellt wird :)
Habt Dank für das Lesen meiner Frage.

Programmcode online stellen?
Du meinst eher eine Webanwendung mit Java als serverseitige Programmiersprache programmieren. Man kann nicht einfach irgendein Java Programm online stellen. Was du suchst ist "JavaSever Faces 2.x" + Facelets(xHTML) als VDL (View Definition Language).

Tutorial:
JSFAtWork, JSF 2.0 und Apache MyFaces


Gruß
JP
 

Trolli91

Mitglied
Hallo JP,

vielen Dank für deine Rückmeldung. Ich bin wohl komplett auf dem Holzweg gewesen was die Realisierung betrifft. Danke für das Tutorial, ich werde mich zuhaus damit beschäftigen.;)

liebe Grüße
Trolli91
 

Trolli91

Mitglied
Halli hallo,

ich bins mal wieder :)
Habe es nun soweit geschafft meine Webanwendung zum laufen zu bringen. Sie kann auf die Datenbank zugreifen, alles so verarbeiten wie gewollt und die Ergebnisse auch ausgeben. Das ganze habe ich mit Eclipse und JSP's gemacht (war für meinen Wissensstand schwer genug zu erarbeiten :rtfm:)
Nun habe ich allerdings ein neues Problem:
Bei einem Quiz soll man die Lösung natürlich anklicken können. Daher wäre ein Button schön, in welchem immer die Lösung angezeigt wird und mit einem Klick im Hintergrund eine Funktion aufgerufen wird.
Es gibt in HTML ja die Möglichkeit einfach Buttons zu definieren und mit Javascript zur Ausführung zu bringen( Stichwort Javascript: Dürfen wir ja nicht.)
Nun habe ich alss eine Funktion programmiert, welche mir JButtons ausgibt, was allerdings in einem Extrafenster angezeigt wird. Ich fände es nicht schön wenn man die Website aufruft und beim Spielen dann erst ein Extrafenster geöffnet werden muss :eek:

Gibt es denn eine Möglichkeit Buttons mit variablen Text (je nachdem welche Antwort zu der jeweiligen Frage passt) in die Website einzubinden und damit eine Funktion auszuführen?

Ich hoffe ihr versteht was ich meine :)

Ich wünsch euch noch einen schönen Tag
lg
Trolli91


ps.:
Sowas lernt man heute auf der Uni... naja.
So etwas haben wir eben noch nicht gelernt, darum geht es ja ;) Da ich mir das schon vorher aneignen möchte und über keine Vorkenntnisse verfüge, wusste ich eben noch nicht wohin genau die Reise führen sollte, daher meine "doofe" Frage.
 
Zuletzt bearbeitet:

JavaProfi

Aktives Mitglied
(1) Den jeweiligen Text für den Button in einer Variable (z.B. buttonText) in der ManagendBean (z.B. MyBean) hinterlegen.
(2) Eine Getter Methode für diesen Wert schreiben.
(3) In der JSP Seite den "value" des button-tags über die Expression Langauge an den Wert der managendBean binden (z. B. value="${myBean.buttonText}")

Gruß
JP
 

Trolli91

Mitglied
Hallo JavaProfi,

das ich den Button auf diese Weise einbinden kann ist ja bereits beruhigend, wie bereits das funktioniert habe ich auch bereits getestet. Mir ist allerdings noch nicht klar wie ich, abhängig davon welcher Button geklickt wird, eine Funktion im Hintergrund aufrufen kann (beispielsweise um zu prüfen ob die Eingabe richtig war, oder die nächste Frage abzurufen).
Der Button an sich mit Beschriftung bekomme ich hin, danke, allerdings eben nicht die Ausführung weiterer Funktionen.

liebe Grüße
Trolli91
 

JavaProfi

Aktives Mitglied
Dann nehme bitte anstatt der JSP EL die JSF EL (nicht beide in einer JSP Seite kombinieren!!) sowie die JSTL und dann den Button wie folgt in die JSP Datei einfügen:

<h:commandButton value="Submit" action="#{myBean.doSomething}" value="#{myBean.getButtonText}"/>

Gruß
JP
 

Trolli91

Mitglied
Halli hallo,

danke für die Hilfe, geht bis jetzt gut voran :toll:
Habe gerade ein kleines Problem gefunden, was ich nicht lösen kann, weshalb ich aber keinen Extrathread aufmachen möchte. Folgendes, ich habe eine Variable

Java:
int richtige=0;

Die soll sich mit der Zeit aber ändern, sie soll nämlich die Zahl richtiger Antworten zählen ;)
Dafür habe ich auf meiner Seite ein Formular definiert, in welchem ich einer neuen JSP-Seite Variablen übergebe, nämlich so:
<input type="hidden" name="richtige" value="<%out.println(richtige);%>">

Bei dieser Methode ist der Rückgabewert ein String, dessen bin ich mir durchaus bewusst. Daher habe ich versucht diesen String mittels
Java:
richtige=Integer.parseInt(request.getParameter("richtige"));
umzuwandeln. Allerdings gibt er nur nen Fehler aus und zwar:
java.lang.NumberFormatException: null

Wenn ich den Rückgabestring ausgebe, ist in dem Feld aber definitiv etwas darin, nämlich "0". Die kann ich auch auf der JSP-Seite ausgeben. Nun kann ich diese "0" aber nicht in einen integer umwandeln um damit weiterzuarbeiten ???:L Da ist meine Frage natürlich: Warum nicht? Nur das
Java:
Integer.parseInt
mag er nicht, das Übermitteln und Ausgeben macht er ohne Probleme. Weiß vielleicht jemand weshalb das so ist?

edit: Integer.valueOf(string) funktioniert auch nicht :(
 
Zuletzt bearbeitet:

Trolli91

Mitglied
Hallo,

okay mache ich. Ich habe gehofft das es reicht wie ich es gepostet habe. Hier der wichtige Teil:

String Antwort= request.getParameter("Antwort");
String Frage = request.getParameter("Frage");
int richtige = 0;
richtige=Integer.parseInt(request.getParameter("richtige"));
richtige++;
out.println(richtige);
out.println(Frage);
out.println(Antwort);

...

<form action="" method="post">
<input type="hidden" name="Antwort" value="<%out.println(Antwort);%>">
<input type="hidden" name="Frage" value="<%out.println(Frage);%>">
<input type="hidden" name="richtige" value="<%out.println(richtige);%>">
<INPUT TYPE="submit" VALUE="Antworten" >
</form>



Mit dem Absendebutton unten lade ich die Seite neu, dabei ermittelt er korrekt die Antwort und die Frage von der vorherigen Seite. Den Stringwert von der Variable "richtige" ermittelt er ja auch richtig, er kreidet mir ausschließlich das Integer.parseInt an und ich habe keine Ahnung weshalb :(
 

Templarthelast

Bekanntes Mitglied
Ich würde mir mal die Paramter noch mehrfach anzeigen lassen: Länge des Parameters ausgeben lassen, aus dem hidden input einen text input machen, sodass man in sieht, etc.

Eine weitere nicht ganz elegante Lösung wäre mit String.equals den Wert zu überprüfen und ihn so zu unterscheiden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Model2-Architektur Servlets Web Tier 0
D Servlet EJBs in Servlets verwenden? Web Tier 4
S JSF, JSP, Servlets - ich verstehe nur noch Bahnhof Web Tier 4
M Best practice JSP und Servlets Web Tier 1
A Aufruf eines Servlets auf einer JSP Seite funktioniert nicht Web Tier 10
A Wartezeit nach Tomcat start wegen Servlets zu hoch Web Tier 2
C Kommunkation Servlets/Browseraufruf Servlet Web Tier 4
U Servlet Allgemeine Frage zu Servlets Web Tier 2
T Tomcat mit Servlets Problem Web Tier 7
A Parameterübergabe an Servlet und Aufruf von Servlets per Java Code Web Tier 7
R Daten Streamen mit Servlets. Web Tier 4
J web.xml / Erreichbarkeit von Servlets Web Tier 6
F Richtiges Session Management mit Servlets Web Tier 4
S Architektur-Problem? 2 Servlets, ein Objekt Web Tier 4
S Ein ControllerServlet für andere Servlets - Sinnvoll oder nicht? Web Tier 34
D Servlets vor direktem Zugriff schützen Web Tier 2
O setDefaultUncaughtExceptionHandler in Servlets Web Tier 2
M Design-Frage: JSP, Servlets und CSS Web Tier 11
Java.getSkill() Webseiten JSP Servlets Struktur Web Tier 3
R File Einlesen mit jsp/servlets Web Tier 11
S Daten zwischen 2 Servlets aus 2 Webapplikationen teilen? Web Tier 17
D client-seitige Sessions mit Servlets Web Tier 5
M Bilder in Servlets Web Tier 8
U Grundaufbau der Webapp mit JSP/Servlets Web Tier 7
J Welcher WebServer(-anbieter) für Servlets? Web Tier 5
S Ablauffrage von Servlets Web Tier 2
G Kurze Frage zu Servlets&Struts Web Tier 4
L Massenaufruf ( 5000/s ) eines Servlets testen. Web Tier 4
G synchronized bei Servlets Web Tier 24
rambozola session attribut in servlets und jsps Web Tier 11
D Kann Servlets nicht kompilieren Web Tier 7
M Grundlegende Frage zu Servlets und JSPs Web Tier 12
B Wohin mit meiner Neugier - Webprogrammierung Web Tier 5

Ähnliche Java Themen

Neue Themen


Oben