Obiectul sesiunii în aplicația WEB nu are nicio importanță. Când utilizați cadrul Struts2, puteți utiliza sesiunea de interfață ServletRequest, care este extinsă de interfața HttpServletRequest. Metoda getSession (boolean create) a acestei interfețe returnează un obiect HttpSession al sesiunii client actuale. Dacă parametrul de creare este adevărat și obiectul HttpSession nu există, este creat un nou obiect HttpSession.
SessionAware interfață
În ciuda posibilității de a utiliza sesiunea de interfață HttpSession, trebuie să utilizați încă obiectul de sesiune al cadrului. Pentru a face acest lucru, trebuie să creați o acțiune care moștenește interfața SessionAware. Interfața SessionAware conține o metodă setSession care ne permite să accesăm sesiunea cadrului. Parametrul metodei setSession este un obiect de tip Map
Exemplu de utilizare a aplicației SessionAware într-o aplicație Struts2
În aplicație, creați acțiunea LoginAction.java. Principala funcție a acestei acțiuni va fi verificarea umplerii câmpurilor de text de pe pagina index.jsp. Dacă utilizatorul umple câmpurile de text, metoda execute () plasează obiectul User în sesiune și returnează valoarea șirului "success" dacă nu completează "eroare". În funcție de rezultatul acțiunii, cadrul se va deschide fie pagina success.jsp, fie pagina error.jsp.
Următoarea captura de ecran prezintă structura proiectului StrutsSession.

Descrierea aplicației web.xml nu este descrisă în pagină. Afișarea web.xml poate fi văzută pe pagina de exemplu Struts2. unde este luată în considerare problema codării mesajelor transmise către server.
Afișați acțiunea de clasă LoginAction.java
Acțiunea LoginAction înlocuiește funcția execută. Imediat ce există acces la această acțiune, Struts2 apelează imediat metoda de execuție, care va verifica câmpurile "userName" și "password" și, în funcție de stat, va reveni fie la "succes", fie la "eroare".
Pagina de validare a datelor arată modul de utilizare a metodei validate () pentru a verifica intrarea utilizatorului.
Cadrul solicită metoda setSession. în care definim variabila sesiunii noastre. În cazul în care câmpurile "userName" și "password" sunt populate, metoda va crea obiectul User și îl va plasa în sesiunea sesiunii. Structura obiectului Utilizator este afișată în lista următoare.
Obiect utilizator User.java
Afișarea paginii JSP index.jsp
Pe această pagină, operatorul trebuie să introducă "Login", "Password" și să apese pe butonul Submit. Făcând clic pe buton, informațiile despre pagină (numele de utilizator, parola) sunt transmise către server și acțiunea "login" este invocată.
În rând <%@ taglib uri="/struts-tags" prefix="s" %> tagurile Struts2 sunt conectate. după care trimiterea la obiectele cadrului se face prin prefixul "s". Mai multe taguri Struts2 sunt definite în corpul paginii. În prima etichetă a formularului
Trebuie menționat faptul că acțiunea se află în spațiul de nume "privat" (privat).
Interfața paginii este prezentată în următoarea imagine.

Fișier de configurare Struts.xml
Acțiunea este conectată în fișierul de configurare struts.xml. în care doriți să definiți linkul paginii index.jsp la acțiunea "conectare".
În fișierul de configurare, se determină că acțiunea "login" este asociată cu exemplul.LoginAction class. În funcție de rezultatul acțiunii, fie privat / succes.jsp sau error.jsp va fi deschis. În fișierul de configurare, am stabilit că acțiunea de autentificare se află în spațiul privat (spațiu de nume privat).
Afișați pagina succes.jsp
Dacă acțiunea "private / login" reușește, serverul va deschide pagina success.jsp, interfața a cărei interfață este prezentată în următorul ecran.

Pagina success.jsp utilizează numai etichete JSP pentru a afișa obiectul User. Inițial, trebuie să importați acest obiect în pagină și apoi să îl extrageți din sesiune.
Pagină de afișare error.jsp
Pagina de eroare error.jsp efectuează o singură funcție - spune utilizatorului că unul dintre câmpuri este lăsat necompletat.

Codurile sursă ale exemplului pot fi descărcate aici (5,20 MB).