Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

CATEGORII DOCUMENTE





AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Gestionarea sesiunilor

html

+ Font mai mare | - Font mai mic







DOCUMENTE SIMILARE

Trimite pe Messenger
Creearea unui site
Proiect HTML
Inserarea unui script java
Tag-uri HTML
Obiectul W3C XMLHttpRequest
Informatii de contact - elementul ADDRESS
Inserare unui link
Adaugarea de hiperlegaturi; legaturi interne, externe si legaturi catre o adresa de email; adaugarea de situri favorite
Liste neordonate
Culori, RGB, exprimarea culorilor in hexazecimal

Gestionarea sesiunilor

public HttpSession getSession(boolean)

cu argumentul true, de catre un obiect de tipul HttpServletRequest.

Unei sesiuni ii putem asocia atribute. Un atribut este un obiect care este atasat sesiunii sub un anumit nume (identificator). Altfel spus, unei sesiuni ii putem asocia perechi (obiect, nume), fiecare obiect fiind accesibil prin precizarea numelui atasat.

Prezentam in continuare principalele metode, toate publice, ale interfetei HttpSession; timpul este masurat in milisecunde si anume de la 1 ianuarie 1970:

long getCreationTime()

long getLastAccessedTime() throws IllegalStateException

ServletContext getServletContext()

intoarce contextul servlet-ului caruia ii este asociata sesiunea;

void setMaxInactiveInterval(int interval)

int getMaxInactiveInterval()

intoarce intervalul mentionat in metoda setMaxInactiveInterval;

Object getAttribute(String name) throws IllegalStateException

Enumeration getAttributeNames() throws IllegalStateException

void setAttribute(String name, Object obj)

throws IllegalStateException

asociaza sesiunii obiectul obj sub numele name;

void removeAttribute(String name) throws IllegalStateException

anuleaza asocierea la sesiune a obiectului asociat sub numele name;

void invalidate()

invalideaza sesiunea, inclusiv anuland asocierile existente.

Observatie. În cazul legaturilor persistente, lungimea continutului (Content Length), care este altfel ignorata, este importanta!




Exemplu. Dorim sa cream cate o sesiune pentru fiecare client, care:

-        la prima cerere, in care se furnizeaza numele si parola clientului, sa pastreze respectiva parola;

-        la urmatoarele cereri, in care este precizata o parola, sa permita accesul numai daca ea coincide cu cea din prima cerere;

-        sa tina evidenta numarului curent de cereri adresate de client servlet-ului in cadrul sesiunii.

Sesiunii ii este atasat, sub numele 'client' obiectul ObC de tipul clasei C; campurile obiectului ObC memoreaza numele, parola si numarul de cereri catre servlet. De mentionat ca la fiecare cerere admisa (cu parola corecta) trebuie sa asociem din nou sesiunii acest atribut, evident sub acelasi nume.

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

class C

}

public class Sesiune extends HttpServlet

else if (req.getParameter('parola').equals(ObC.parola))

else html += 'Parola incorecta.';

html += '<br> Daca doresti sa revii, introdu parola' +

' si apasa butonul!';

html += '<form method=GET action=' +

'http://localhost:8080/User/servlet/Sesiune>' +

'<input type=text name=parola value=parola>' +

'<input type=submit name=Buton value=Apasa>';

System.out.println('Accesari = ' + ++accesari);

sesiune.setAttribute('client', ObC);

html += '</form></body></html>';

out.println(html);

}

}

Sevlet-ul este invocat de fiecare client din browser prin cererea:

http://server:8080/User/servlet/Sesiune?nume=nn&parola=pp

unde nn si pp sunt numele, respectiv parola clientului.

Consideram cazul a doi clienti, primul cu numele 'Vasile' si parola '12345', iar al doilea cu numele 'Ion' si parola '6789'. Daca ambii vor invoca servlet-ul cu parametrii corespunzatori, browser-ul va afisa:

Sa presupunem ca in continuare:

-        Vasile executa o cerere gresita (cu parola incorecta), urmata de doua cereri corecte;

-        Ion executa doua cereri corecte si una gresita.

În aceasta situatie, browser-ul va afisa:

Observatie. Sesiunea constituie o alternativa la transmiterea de informatii intre paginile Web. De exemplu doua servlet-uri diferite (situate sau nu pe aceeasi masina gazda) pot deschide cate o sesiune pentru acelasi client. Acesta poate accesa primul servlet si obtine atribute ale sesiunii, pe care le poate apoi trimite celui de al doilea servlet.








Politica de confidentialitate

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 948
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2019 . All rights reserved

Distribuie URL

Adauga cod HTML in site