Variablen Servlet. Int i global

huffle

Mitglied
Hallo - ich bin der neue hier ^^

Ich spiele gerade mit Servlet's herum und bin auf ein Problem gestoßen.
Ich möchte gerne eine art tictactoe spiel basteln in dem ich in einem jsp Formular radion Button einfügen (3x3) und auf die doGet eines Servlet's verweise.
Verwende einen Tomcat - Server und NetBeans.

Java:
<form action="tictactoe" method="doGet" name="ttt">
    <table border="2" cellspacing="3" cellpadding="4">
        <tr>
            <th>1: <input type="radio" name="1" value="1"/></th>
            <th>2: <input type="radio" name="2" value="2"/></th>
            <th>3: <input type="radio" name="3" value="3"/></th>
        </tr>   
        <tr>
            <th>4: <input type="radio" name="4" value="4"/></th>
            <th>5: <input type="radio" name="5" value="5"/></th>
            <th>6: <input type="radio" name="6" value="6"/></th>
        </tr>    
        <tr>
            <th>7: <input type="radio" name="7" value="7"/></th>
            <th>8: <input type="radio" name="8" value="8"/></th>
            <th>9: <input type="radio" name="9" value="9"/></th>
        </tr>    
    </table>
<input type="submit" value="Klick"/>
</form>

Java:
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        for (int i =1;i<10;i++){
            request.getSession(true).setAttribute("Variable", i);
            
            PrintWriter out = response.getWriter();
            out.println("doGET" + i); 
            doPost(request, response);
        }
        processRequest(request, response);
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        out.println("doPOST"); 
        
        doGet(request, response);
    }

Es soll zuerst die doGet aufgerufen werden (Rot ist am Zug; das angeklickte Feld (bzw die Nummer davor wird rot) im doPost dann das ganze mit blau.
Aber mir wird ständig doGet-doPost aufgerufen. Zum test habe ich eine Initiale variable gesetzt die ich mir mit ausgeben lasse.
Dieser wird aber immer wieder auf null gesetzt :'(
Wie bekomme ich diesen auf die session bezogen übergeben?

Man merkt vlt ich habe mich noch nicht lange damit beschäftigt. Hoffe mir kann jemand einen hilfreichen Tipp geben. Danke dafür schon mal.
 
S

SlaterB

Gast
> Zum test habe ich eine Initiale variable gesetzt die ich mir mit ausgeben lasse.

was soll eine 'Initiale variable' sein? im Zweifel viel mehr das tatsächlich Vorhandene beschreiben, statt sich auf unsichere Fachbegriffe verlassen,
du hast eine Schleife, natürlich mit einer Schleifenvariablen i, i wird in die response geschrieben, meinst du das?

> Dieser wird aber immer wieder auf null gesetzt :'(

meinst du dass bei der nächsten Ausführung von doGet() eine neue Schleife mit i = 0 beginnt?
wäre auch schlimm wenn nicht, da genau so programmiert

im Moment sieht das Programm wirklich mies aus, doGet() ruft mehrfach doPost() auf, wenn es die Gelegenheit hätte,
doPost() ruft immer doGet() auf, ergo Endlosschleife,
was genau dein Ziel ist erzählst du nicht, da kann man also nur blind raten

z.B. könntest du in doGet() die Schleife entfernen, mit
> request.getSession(true).getAttribute("Variable");
tatsächlich eine interessante gespeicherte Information erlangen,
wenn dieser Wert noch nicht da ist oder kleiner 10, dann höheren Wert speichern und doPost() aufrufen

beim nächsten doGet() wieder aus der Session lesen und so maximal 10x dieses Spiel treiben, so unsinnig es auch überhaupt ist
 

huffle

Mitglied
Okay beim nochmaligen durchlesen verstehe ich die Kritik.

Gut ich versuche mich deutlicher auszudrücken.

Ich möchte im doGet einen Integer erzeugen (i).
Diese Variable kann ich jetzt mittels set-/getAttribut an doPost übermitteln. Das soll nach klicken auf einen Button passieren.
Im doPost möchte ich i dann um eins hochzählen lassen, und zurück zu doGet geben lassen.
Ist i>10 möchte ich processRequest aufrufen.


Da ich noch nicht weiß wie ich das mit dem button einbinde wollte ich i erstmal so hochzählen lassen. Das hat auch mit dem senden als Object funktioniert.

-- *Ich werde mir erst nochmal genauer Gedanken machen was ich in welcher Methode machen möchte. Danke :rtfm:
 
Zuletzt bearbeitet:
S

SlaterB

Gast
doGet() und doPost() sind einfach nur Methoden bei der Verarbeitung eines Request im Server,
falls die sich gegenseitig aufrufen, was nicht verboten ist, dann wird dazwischen nichts an den Client gesendet,
es gibt keine Buttons auf die jemand klickt usw.

set-/getAttribut sind gut wie gesagt, Erhöhen usw. kannst du machen, bisher davon in doPost() noch nicht viel zu lesen,


in die response "doGET" + i usw. zu schreiben ist übrigens arg fragwürdig wie so vieles,
was beim Client ankommt, muss normalerweise respektables HTML sein,
JSPs bieten sich dafür an, selber etwas zu schreiben will geübt sein
 

huffle

Mitglied
Ahh okay - daran hab ich nicht gedacht.
Über die out.println rufe ich ja einen Response auf welcher ja ebenfalls Versand wird. Okay, verstehe die Dauerschleife -.-

Den button habe ich im servlet über den
Java:
out.println("<form action=\"tictactoe2\" method=\"doGet\" name=\"1\">");
                out.println("<input type=\"submit\" value=\"Klick\"/>");
                out.println("</form> ");
versucht. Was natürlich zu einem fehler führte.

Gut dann schau ich jetzt erstmal nach einer weiterleitung zur jsp. (requestDispatcher)
Danke für deine Hilfe
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
H What is the Life Cycle of an Object Created Within/Outside of a Servlet? Will that item be destroyed after the session ends? Java Basics - Anfänger-Themen 1
J MySQL Datumsabfrage über ResultSet in Java-Servlet Java Basics - Anfänger-Themen 4
J javax.servlet.ServletException: Name is null Java Basics - Anfänger-Themen 7
G Servlet - externe HTML (URL) auslesen Java Basics - Anfänger-Themen 1
E InputStream im Servlet wirft Exception Java Basics - Anfänger-Themen 5
E Pdf-Document lässt sich im Servlet nicht öffnen Java Basics - Anfänger-Themen 5
E Erste Schritte Java Webeintwicklung (JSP/Servlet), wie am Besten einsteigen? Java Basics - Anfänger-Themen 0
S Java Servlet - Suche Java Basics - Anfänger-Themen 1
R Upload Servlet: Ausgabe nicht korrekt Java Basics - Anfänger-Themen 2
C Inputreader Servlet Nullpointerexception Java Basics - Anfänger-Themen 6
B Servlet und Eclipse Java Basics - Anfänger-Themen 2
B Servlet ausfuehren Java Basics - Anfänger-Themen 4
O Servlet Klassen ? Java Basics - Anfänger-Themen 7
B Datenzugrifft: Servlet -> Objekte Java Basics - Anfänger-Themen 4
T Servlet - oder doch nicht? Java Basics - Anfänger-Themen 4
T Servlet HTML-Formular Java Basics - Anfänger-Themen 9
F Aus Servlet in JSP schreiben Java Basics - Anfänger-Themen 2
T Servlet wird nicht erkannt Java Basics - Anfänger-Themen 10
X Kurve im Servlet zeichnen lassen Java Basics - Anfänger-Themen 4
P Problem mit Servlet Java Basics - Anfänger-Themen 9
D Periodische Aufgaben erledigen in Webanwendung (Servlet/JSP) Java Basics - Anfänger-Themen 7
I Probleme mit Tomcat / Servlet auf Linux (Debian) Java Basics - Anfänger-Themen 7
Tandibur [erledigt] jsp überträgt nicht alle Parameter an Servlet Java Basics - Anfänger-Themen 2
D Servlet kann nicht auf Instanz zugreifen Java Basics - Anfänger-Themen 10
D Servlet mit Utilities Java Basics - Anfänger-Themen 14
J Servlet Interface javax.servlet.Servlet Java Basics - Anfänger-Themen 2
G Parameter in Servlet weiterleiten Java Basics - Anfänger-Themen 5
A Finde javax.servlet.* nicht Java Basics - Anfänger-Themen 6
G JSP, Applet oder Servlet? Java Basics - Anfänger-Themen 8
0x7F800000 Servlet ruft Servlet auf: Wie ServletRequest erstellen? Java Basics - Anfänger-Themen 6
0x7F800000 Servlet: wo bekommt man die eigene adresse? Java Basics - Anfänger-Themen 6
O Weiterleitung in einem Java-Servlet Java Basics - Anfänger-Themen 5
O Jar-Archiv im Servlet verwenden Java Basics - Anfänger-Themen 3
G Servlet Package wo herunterladen? Java Basics - Anfänger-Themen 2
G doGet und doPost im Servlet nicht überschrieben Java Basics - Anfänger-Themen 9
P Servlet unterschiedliche Server Java Basics - Anfänger-Themen 2
W Servlet - out of memory Java Basics - Anfänger-Themen 7
W servlet imports nicht unterstützt Java Basics - Anfänger-Themen 3
F Applet --> Servlet --> Applet Java Basics - Anfänger-Themen 2
K Problem mit javax/servlet/http/HttpServletRequest.java Java Basics - Anfänger-Themen 2
J Servlet Error Java Basics - Anfänger-Themen 11
D Aus Anwendung Zugriff auf ein Servlet Java Basics - Anfänger-Themen 5
P konsolen ausgabe bei servlet Java Basics - Anfänger-Themen 2
S Methoden aus einem Servlet in einer JSP verwenden Java Basics - Anfänger-Themen 5
T Wo Daten ablegen für mehrere Servlet-Instanzen? Java Basics - Anfänger-Themen 2
G import javax.servlet cannot be resolved Java Basics - Anfänger-Themen 1
Z Wo wird ein Servlet gespeichert ? Java Basics - Anfänger-Themen 2
I eine Klasse aus der Jar-Datei aus dem Servlet starten Java Basics - Anfänger-Themen 4
N Probleme mit import von javax.servlet.* Java Basics - Anfänger-Themen 3
T komplexe Strukturen in Servlet-Context speichern möglich? Java Basics - Anfänger-Themen 5
T servlet synchronisationsproblem Java Basics - Anfänger-Themen 4
P Servlet wird nicht gefunden Java Basics - Anfänger-Themen 4
A fileupload mit servlet Java Basics - Anfänger-Themen 6
P asynchrone Kommunikation Applet Servlet mit RMI möglich Java Basics - Anfänger-Themen 4
G Übergabe Variablen von Servlet zu JSP? Java Basics - Anfänger-Themen 4
G Formularübergabe in Servlet endet mit null. Java Basics - Anfänger-Themen 2
S Jakarta FileUpload Servlet funktioniert nicht Java Basics - Anfänger-Themen 17
G Servlet gibt über request nur null zurück Java Basics - Anfänger-Themen 3
G problem mit servlet import Java Basics - Anfänger-Themen 4
W servlet nicht gefunden Java Basics - Anfänger-Themen 8
R Servlet - JSP Java Basics - Anfänger-Themen 2
G Servlet geht nicht Java Basics - Anfänger-Themen 5
G hilfe jsp/servlet,jdbc api running on tomcat server+webProxy Java Basics - Anfänger-Themen 8
G Servlet aus programm abfragen Java Basics - Anfänger-Themen 9
H JSP Kein Durchblick. Servlet <-> JSP Java Basics - Anfänger-Themen 7
I Bean<>Servlet ? Java Basics - Anfänger-Themen 6
D Datentransfer via Servlet Java Basics - Anfänger-Themen 2
M Applet sendet daten an servlet und servlet wieder an applet Java Basics - Anfänger-Themen 5
M Servlet position bestimmen Java Basics - Anfänger-Themen 3
J Servlet - Datei auf Server speichern und Ausgabe Java Basics - Anfänger-Themen 5
G Servlet wird nicht importiert? Java Basics - Anfänger-Themen 3
C Servlet & tomcat 5.0.28 Java Basics - Anfänger-Themen 7
S Servlet-Anfänger Java Basics - Anfänger-Themen 4
G Mein Servlet ist "not available" Java Basics - Anfänger-Themen 12
M Kann neues Servlet nicht hinzufügen Java Basics - Anfänger-Themen 5
D Beispiel-Servlet erstellen Java Basics - Anfänger-Themen 4
H Unterbrochener Link im Fomular bei Servlet-Aufruf Java Basics - Anfänger-Themen 4
E Webshop-Servlet: Problem beim Speichern der Bestellmenge Java Basics - Anfänger-Themen 3
M hilfe :} möchte servlet daten erfasssen-> hashmap speiche Java Basics - Anfänger-Themen 3
Z Servlet/Tomcat Problem Java Basics - Anfänger-Themen 3
TimoN11 Java Klassen Global einbinden Java Basics - Anfänger-Themen 1
S Umgebungsvariable Wert einer Variable global nutzen Java Basics - Anfänger-Themen 3
B Variablen global abspeicher innerhalb von Methoden Java Basics - Anfänger-Themen 7
K Best Practice Scrollwheel global emulieren Java Basics - Anfänger-Themen 3
J jar Dateien global erreichbar machen Java Basics - Anfänger-Themen 3
A Objekt global verfügbar machen Java Basics - Anfänger-Themen 4
O Problem mit kombiniertem global Hotkey Java Basics - Anfänger-Themen 2
I FileInputStream global deklarieren Java Basics - Anfänger-Themen 2
ChaosNo1 Arrayliste global nutzen? Java Basics - Anfänger-Themen 4
O String global initialisieren Java Basics - Anfänger-Themen 5
G while-Schleife global abbrechen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben