2016-10-20 2 views
0

Wenn Sie die Seite zum zweiten Mal aktualisieren oder den Link nach der ersten Ausführung drücken, wird die gleiche Objektinstanzausgabe angezeigt. Ich konnte die Methode nicht für das nächste Mal ausführen und einen neuen Ausgabewert anzeigen. Es bringt den alten Wert selbstJSP-Seite führt Java-Methode nur einmal aus

Ich mache einige Datenbank Abfrage Ausführung in dieser Methode.

Wenn ich die Ausführungszeit Änderungen für die ersten 2 Aktualisierung der Seite und nach tat druckt bleibt es gleich für den verbleibenden Zugriff auf diese Seite.

Ich habe versucht, die System.currentTimeMillis() zu drucken, dann wurde es auch nicht bei jeder Aktualisierung aktualisiert, es zeigte den gleichen Zeitstempel. Warum wird meine Methode nach 2 Aktualisierungen nicht ausgeführt?

+1

Scheint so, als würde Ihr Browser die Seite zwischenspeichern, überprüfen Sie, wie Sie Ihren Browser dazu zwingen können, diese bestimmte Seite nicht zu cachen; darüber gibt es viele Fragen. – SJuan76

+0

Mögliches Duplikat von [Sicherstellen, dass eine Webseite nicht in allen Browsern zwischengespeichert wird] (http://stackoverflow.com/questions/49547/making-sure-a-web-page-is-not-cached-across-all -Browsers) – AxelH

+0

Ja, es war das, was ich zuerst überprüft habe, indem ich den Cache gelöscht habe. – Pradeesh

Antwort

0

Das Problem wurde behoben. Ich habe die Ausgabe der Methode in einer Variablen gespeichert und sie wurde in eine Instanzvariable des generierten Servlet-Codes übersetzt. Wenn das Servlet erstellt wird, wird dieser Wert im Konstruktor zugewiesen. Und da wir den Servlet-Lebenszyklus nicht steuern können, können wir nicht garantieren, dass das Servlet für jede Anfrage neu erstellt wird.