Zapamiętanie sesji w JSP

0

Dlaczego nie zapisuje mi sesji?

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Index</title>
    </head>
    <body>
        <%
            String login = "ss";
        %>
        <form action="strona.jsp" method="post">
                <label>Login: <input type="text" id="login" name="login" required="required"/></label><br /><br />
                <label>Hasło: <input type="password" id="password" name="haslo" required="required"/></label><br /><br />
                <input type="submit" value="Zaloguj się" />
        </form>
        <%
            session.setAttribute(login,"login");            
        %>
    </body>
</html>
0

Pewnie zapamiętuje, tylko jako wartość jest "ss".

Kody skryptletów wykonują się podczas generacji strony, czyli tutaj najpierw jest zrobiona zmienna login z początkową wartością, potem zostaje wygenerowany kawałek dokumentu, następnie przypisanie do sesji wartości login, czyli "ss" i dalej ponownie wygenerowanie dokumentu do końca. Po tych wszystkich akcjach użytkownik otrzymuje dopiero stronę do interakcji.

Prawidłowo powinno wyglądać to tak, że ten formularz przekazuje te dane do jakiejś akcji, np. servletu i to on dalej coś robi z tymi danymi.

Ale nawiasem mówiąc to używanie skryptletów jest rzeczą bardziej nielegalną niż produkcja kokainy i dziecięca pornografia razem wzięta. Czasem w bardzo starych źródłach piszą że warto poznać, bo możesz się natknąć w bardzo starym kodzie na takie kwiatki, ale to nie prawda. Jeżeli faktycznie się natkniesz to trzeba zmienić firmę ;). Jedynym rozsądnym wyjaśnieniem jest to że ktoś Ci tak każe pisać na studiach. Jeżeli jednak piszesz dla siebie, to zobacz np. na Spring MVC lub JSF z JEE.

1 użytkowników online, w tym zalogowanych: 0, gości: 1