Utilizarea sesiunilor

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. Astfel, după ce a fost definit în operare un obiect de tip Map, îl putem asocia cu sesiunea cadrului. După aceasta, sesiunea poate fi utilizată pentru a face schimb de obiecte între diferite acțiuni.

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.

Utilizarea sesiunilor

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 Se definește acțiunea = "privat / login", responsabil pentru prelucrarea datelor. În plus, câmpurile de text "userName" și "password" sunt setate în corpul formularului. Când faceți clic pe buton controlul este transmis către server și acțiunea de autentificare este invocată.

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.

Utilizarea sesiunilor

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.

Utilizarea sesiunilor

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.

Utilizarea sesiunilor

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







Articole similare

Trimiteți-le prietenilor: