Tomi: Sessions....

Hallo

Ich kann diesen Teil meines Java Files nicht ohne Fehler compilieren.
Der Fehler lautet:

Note: D:\Daten\SOURCE Java\web\servlet\Login.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.
Finished Login.

Und der Code ist (nur Code welcher nicht funzt):
Die Variable sLoginName wird weiter oben deklariert. Dies ist der Loginname des jeweiligen eingeloggten Benutzer.

if (nRows !=0)
  {
    String loginName = sLoginName;
    HttpSession sessionUser = req.getSession true);
    Integer sessionCounter = new Integer(0);

if (!sessionUser.isNew())
  {
   sessionCounter = (Integer) sessionUser.getValue("sessionCounter");
   sessionCounter = new Integer(sessionCounter.intValue() + 1);
  }

sessionUser.putValue("loginName", loginName);
 gotoPage("/main.jsp", req, res);

Thanks for Help...
Tomi

  1. Hi,

    Note: D:\Daten\SOURCE Java\web\servlet\Login.java uses or overrides a deprecated API.

    tja, das ist doch ziemlich eindeutig. Da Du nichts ererbtes überschreibst, solltest Du mal in den verwendeten Klassen nachsehen, was davon deprecated ist und wie es mittlerweile lauten sollte.

    Note: Recompile with -deprecation for details.

    Sagt dies dann mehr?

    Cheatah

    --
    X-Will-Answer-Email: No
  2. Hi,

    Der Fehler lautet:

    Note: D:\Daten\SOURCE Java\web\servlet\Login.java uses or overrides a deprecated API.
    Note: Recompile with -deprecation for details.
    Finished Login.

    Note != Error (aka Fehler)
    Vermute ich richtig, dass nach dem "Fehler" eine Login.class existiert?

    Viele Grüße,
    Martin Jung

  3. Hallo,

    Ich kann diesen Teil meines Java Files nicht ohne Fehler compilieren.
    Der Fehler lautet:

    Note: D:\Daten\SOURCE Java\web\servlet\Login.java uses or overrides a deprecated API.
    Note: Recompile with -deprecation for details.
    Finished Login.

    deprecated heißt missbilligt. Die Meldung besagt also, dass Du eine API nutzt oder überschreibst, die bereits durch eine andere ersetzt wurde und nun nicht weiter entwickelt wird. Das ist kein fehler, sondern eine Warnmeldung. Es steht auch dort, was Du tun sollst. Nämlich mal:

    javac -deprecation Login.java

    eingeben. Dann wird dir gesagt, um welche API es sich handelt. In der Doku zu dieser API http://java.sun.com/products/servlet/2.2/javadoc/ steht dann sicherlich, was Du statt dessen verwenden solltest.

    Na gut. Hab mal für Dich nachgeschaut:

    javax.servlet.http
    Interface HttpSession
    java.lang.Object getValue(java.lang.String name)
              Deprecated. As of Version 2.2, this method is replaced by getAttribute(java.lang.String).

    Gruß

    Axel

  4. Danke Axel Richter....das Problem lag an den Methoden putValue und getValue....müssen sein getAttribute und setAttribute..

    danke nochmals...
    Gruss Tomi

    1. Hi,

      Danke Axel Richter....das Problem lag an den Methoden putValue und getValue....müssen sein getAttribute und setAttribute..

      Welches "Problem" meintest Du jetzt eigentlich? Die Anzeige der "Deprecated-Information" oder die Vermutung, dass die Kompilation nicht stattfand (was ich nicht vermutete)?

      Viele Grüße,
      Martin Jung

      1. Hallo

        Welches "Problem" meintest Du jetzt eigentlich? Die Anzeige der "Deprecated-Information" oder die Vermutung, dass die Kompilation nicht stattfand (was ich nicht vermutete)?

        Die Kompilation hat mit Warnmeldungen stattgefunden, aber das Servlet lief nicht. Nachdem ich die Methoden geändert habe, fand die kompilation ohne Warnungen statt und das Servlet lief auch....
        Aber ich danke natürlich auch dir für deinen Beitrag...kann immer wieder etwas dazulernen....

        Viele Grüße,
        Martin Jung

        Auch viele Grüsse
        Tomi