illcp: Unberechenbares Compiler-Verhalten des Tomcat

Hallo,

ich habe eine Frage zu äußerst seltsamem Verhalten des Tomcat.

Folgendes kleine Beispiel:

<%@ page language="java" %>
<% int i = 20; %>
<%= i %>

Funktioniert tadellos und gibt 20 aus.

Ändere ich nun die zweite Zeile in:

<% int i = 20 %>

provoziere ich damit einen Fehler wegen fehlendem Semikolon. Speichere ich das Skript nun so und reloade es ein paarmal nacheinander im Browser, wirft es (scheinbar völlig zufällig und nicht reproduzierbar) ab und zu eine Exception und gibt ab und zu wieder 20 aus...

Würde nur bei den ersten paar Reloads 20 und nachher nur noch Exceptions angezeigt hätte ich dafür noch Verständnis (JSP's werden wenn ich es richtig verstanden habe ja kompiliert und nicht wie PHP interpretiert, so dass hier evtl. ein wenig Kompilierungszeit benötigt wird), allerdings scheint hier völlig zufällig auf irgendeinen Cache zurückgegriffen zu werden.

Kann mir das jemand erklären ? Und vor allem: Wie werde ich es los so dass sich das ganze "normal" (wie z.B. PHP) verhält ?

Gruß,

Christian

  1. Hallo,

    was passiert, wenn Du das Script mal mit i = 20;, dann mit i = 30;, dann mit i = 40; speicherst.

    Bekommst Du nur 40 ausgegeben oder auch alte Versionen?

    Und mal völligst ins Blaue geraten? Stimmt die Serverzeit des Tomcat mit der Clientzeit Deines Rechners überein?

    Gruß
    Olaf

    1. Hallo,

      Bekommst Du nur 40 ausgegeben oder auch alte Versionen?

      Es wird dann immer sofort beim nächsten Reload der aktuelle Wert angezeigt, er scheint nur irgendwas zu cachen, wenn das Skript einen Fehler hat.

      Und mal völligst ins Blaue geraten? Stimmt die Serverzeit des Tomcat mit der Clientzeit Deines Rechners überein?

      Ganz vergessen zu erwähnen: der Tomcat läuft hier lokal bei mir als Testsystem, d.h. die Zeit ist gleich. Erst hatte ich es mit einer "original" Apache Tomcat-Version versucht; da dachte ich noch, das seltsame Phänomen hinge evtl. mit einer vermurksten Installation zusammen. Momentan benutze ich den Tomcat als XAMPP-Plugin, es hat sich allerdings nichts geändert.

      Gruß,

      Christian