Sohail: JSP-TomCat

Hallo,

kennt sich jemand hier mit JSP aus?

Ich kriege langsam eine Kriese. Ich habe "J2sdk1.4.0" unt TomCat4 installiert. Einiege Programme laufen auch sehr gut, aber andere kleine und einfache Programme werden einfach nicht Interpretiert wie unten;

<html>
<head><title>Eine einfache JSP</title></head>
<body>

<font color="blue" FACE="Trebuchet">
<center>
Aktuelles Datum und Uhrzeit: <%= new java.util.Date() %>
</center>
<Font>

</body>
</html>

Ich bekomme an dieser Stelle kein Datum aus. Die gleiche Anweisung wird aber in einem anderen Programm ausgeführt und interpretiert.

Hat jemand eine Idee, woran es liegen könnte?

Danke im voraus.
Sohail

  1. Hallo,

    diese Zeile einfügen:

    <%@ page import='java.util.*' %>

    <html>
    <head><title>Eine einfache JSP</title></head>
    <body>

    <font color="blue" FACE="Trebuchet">
    <center>
    Aktuelles Datum und Uhrzeit: <%= new java.util.Date() %>
    </center>
    <Font>

    </body>
    </html>

    dann funktioniert es auch.

    Viele Grüße
    -> Andreas

    1. Hi,

      diese Zeile einfügen:

      <%@ page import='java.util.*' %>

      Einspruch: Das müsste auch ohne Import-Statement funktionieren, da ja der voll-qualifizierte Klassenname verwendet wird (dementsprechend funktioniert es auch in TOMCAT 3.2 problemlos).

      Soweit ich weiß, wurde TOMCAT 4/Catalina mehr oder weniger komplett neu implementiert. Vielleicht ist es ja ein Bug.
      Vielleicht hat sich auch in der JSP-Engine etwas geändert, sodass man jetzt möglicherweise das Datums-Objekt erst einer Variablen zuweisen muss, um dann die Ausgabe mittels toString() o.ä. explizit zu initiieren.

      Viele Grüße,
      Martin

      1. Hallo,

        Vielleicht hat sich auch in der JSP-Engine etwas geändert, sodass man jetzt möglicherweise das Datums-Objekt erst einer Variablen zuweisen muss, um dann die Ausgabe mittels toString() o.ä. explizit zu initiieren.

        Sorry, voreilig getippt:
        <%= new java.util.Date().toLocaleString() %> sollte denn funktionieren.

        Viele Grüße
        -> Andreas

    2. Hallo,

      es functioniert trotzdem nicht. Es wird nichts an diesem Programm interpretiert.

      Wenn ich den QuellText anzeigen lasse, bekomme ich den genau so:

      <%@ page import='java.util.*' %>

      <html>
      <head><title>Eine einfache JSP</title></head>
      <body>

      <font color="blue" FACE="Trebuchet">
      <center>
       Aktuelles Datum und Uhrzeit: <%= new java.util.Date() %>
      </center>
      <Font>

      </body>
      </html>

      Das heisst, irgendwie läuft hier etwas falsch. Ich habe dem Startup.bat diese drei Zeilen ganz oben hinzugefügt:

      set CATALINA_HOME=c:\tomcat
      set JAVA_HOME=C:\J2sdk1.4.0
      set PATH=%JAVA_HOME%\bin;%PATH%

      Ist das so OK?

      Sohail

      1. Hallo! Dann versuch auch ich mal mein Glück:

        es functioniert trotzdem nicht. Es wird nichts an diesem Programm interpretiert.

        Hat die Datei die richtige Endung ".jsp" oder steht da vielleicht noch ".html"?
        Wie ruftst du die Seite auf? Müsste soetwas sein wie "http://localhost:8080/blablabla/meineDatei.jsp". Vielleicht machst du den Fehler, dass so aufzurufen: "c:/web/meineDatei.jsp". Dann würde Tomcat gar nicht erst ins Spiel kommen.

        Vieleicht hilfts schon!

        1. Hallo Markus,

          danke für deine Antwort.

          Die Seite steht unter Tomcat/Webapps/Root/Test/EINFACHESBSP.JSP.

          Ich rufe dann diese Seite über http://localhost:8080/Test/EINFACHESBSP.JSP auf.

          Alle TomCat-Beispiele die mann über http://localhost:8080 heraus bekommt werden interpretiert und richtig ausgeführt.

          Dieser Quellcode wird auch richtig angezeigt:

          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

          <title>jsp</title>

          </head>
          <body>

          <ul>
          <li>current time: <%= new java.util.Date() %></li>
          <li>your hostname:<%= request.getRemoteHost() %></li>
          <li>your session: <%= session.getId() %></li>
          </ul>

          </body>
          </html>

          Du siehst, dass <%= new java.util.Date() %> auc hier vorhanden ist. Hier wird und woanders wird nicht richtig interpretiert.

          Hast du eine Idee?

          Sohail

          1. Ich rufe dann diese Seite über http://localhost:8080/Test/EINFACHESBSP.JSP auf.

            Mhh, jetzt bin ich auch ein wenig ratlos. Könnte es vielleicht sein, dass .JSP klein geschrieben sein muss? Probiers doch mal aus!
            Wenn das auch nicht hilft, würde ich die Beispieldatei einfach auch mal in das Test-Verzeichnis legen und schauen, ob die dort klappt. Wenn nicht, hat's mit dem Verzeichnis zu tun, wenn doch liegt der Fehler eindeutig an deiner Seite.

          2. Hi,

            Die Seite steht unter Tomcat/Webapps/Root/Test/EINFACHESBSP.JSP.

            Ich rufe dann diese Seite über http://localhost:8080/Test/EINFACHESBSP.JSP auf.

            Dann bräuchtest Du auch eine Context-Definition für die Web-Applikation "Test" in der /conf/server.xml.
            <beispiel>
              <Context path="/Test"
                             docBase="webapps/Root/Test"
                             crossContext="true"
                             debug="0"
                             reloadable="true"
                             trusted="false" >
              </Context>
            </beispiel

            Es gibt diesen Context (im Prinzip ein Alias für einen Pfad) vermutlich nämlich noch nicht.

            Viele Grüße,
            Martin

            1. Hallo Martin,

              an welcher Stelle soll ich diesen Teil im server.xml denn einfügen?

              Sohail

              1. Hallo Sohail,

                in DEiner server.xml gibt es bereits einige Kontexte, etwa folgender:

                <Context debug="0" docBase="cocoon" path="/cocoon" reloadable="true">
                 </Context>

                z.B. direkt darunter kannst du einen weiteren Kontext einfügen

                Gruß
                Franz

  2. Hallo,

    Ich weiß nicht wo dein Problem liegt, da es bei mir funktioniert. Ich habe nichts anderes gemacht als dein Quelltext als test.jsp gespeichert (ins Tomcat ROOT Verzeichnis). Ich habe Tomcat 4.0.1 darauf.

    Gruss,
    Gabor

    1. Hi,

      das ist ja das Problem. Das fuktioniert nur bei mir nicht.

      Gruße
      Sohail

      1. Hi,

        das ist ja das Problem. Das fuktioniert nur bei mir nicht.

        Gruße
        Sohail

        Installierst du einfach mal eine neue Tomcat Version. Es gibt schon die Version 4.0.2 (vielleicht hat dein Tomcat irgendein Bug(?))

        Gruss,
        Gabor