Http sesiune, BCB
Inițial, protocolul HTTP nu conține nici un mecanism pentru a menține o sesiune de client cu serverul Web, dar serverul pentru aplicații bazate pe web, astfel de mecanisme sunt importante, iar acestea sunt mai bine. Importanța de sesiuni care de multe ori au nevoie pentru a stoca unele. informații în spațiile m / s de la apeluri de același utilizator la server. Și aceste informații sunt specifice de e / fiecărui utilizator și stocați trebuie să fie pe server.
În platforma J2EE are 3 mecanism pentru a menține sesiunea de protocol http: cookie bazat, bazat pe URL-ul (rescrierea URL-ul) și pe bază de -IN în protocolul prevăzut SSL (Secure Socket Layer) - sesiune de protocol de strat care sunt isp fi. împreună cu http. Mecanismul implicit se bazează pe cookie. container Web generează un ID unic-No-p și creează tipul de obiect javax.servlet.http.HttpSession, să-ing stocate în acestea pentru identificarea fiecărei sesiuni, fiecare polzovtelya.
Sesiunea ID (sesiune) este atașat la răspunsul Xia un cookie numit JSESSIONID. La apelurile ulterioare efectuate în aceeași sesiune, browser-ul se atașează cookie-ul primit anterior o cerere pentru un cookie primit cu containerul cerere de web determină solicitarea de aderare la o anumită sesiune, comparând identificatorul extras din cookie și obiecte de sesiune http. Această blană m funcționează numai în cazul în care suportul browser-ul cookie nu este dezactivat.
Mecanismul bazat pe URL-ul (rescriere URL) este faptul că sesiunea de id-p atașat la URL-ul ca un get-parametru numit jsessionid. Acest mecanism funcționează chiar și atunci când cookie-ul este dezactivat. Cu toate acestea, req-mo pune în aplicare opțiunea corespunzătoare de la get-toate link-urile care indică aceeași aplicație în toate paginile răspunsurilor generate de acestea. Pentru a activa sesiunea de id-ra, URL-ul predusm. spec. Metoda encodeURL. Cu această metodă, d. Toate referirile prelucrate, la- prezente pe toate paginile de răspunsuri.
protocolul SSL Predusm. built-in mecanism pentru a menține sesiunea. Acesta m. Este utilizat împreună cu protocolul HTTP, în cazul interacțiunii cu containerul de web prin intermediul unui canal criptat.
În cazul în care cererea nu este rel-Xia la oricare dintre sesiunile existente, începând Xia nou. Acest lucru generează un identificator de sesiune, și de a crea-Xia tip de obiect javax.servlet.http.HttpSession, ca parte care ID-ul de sesiune este stocată pe server și care este de obicei atașat la răspunsul sub forma unui cookie. Browser-ul a primit un cookie, ca parte a unui răspuns și salvează-l apoi atașează-l la fiecare cerere, să-ING este trimis la server, cu la- a fost primit. WebContainer, p-extragere sesiune id cererii, m. Pentru a determina care sesiune de lucru rel Xia această solicitare.
În cazul în care cookie-ul browser-ul dvs. sunt dezactivate, iar aplicațiile web nu sunt spaniola-out-rescrierea URL-ul, atunci fiecare astfel de cerere client rezultate în CREATE Teologică de fiecare dată când o nouă sesiune.
Loose client de cuplare web și container Web necesită un timeout ca singurul -VA de încredere d / a determina când o sesiune folosește o aplicație web de mijloc. În mod implicit, a primit Xia timeout în 30 de minute. Dacă în timpul timeout-ul nu a fost accesat de User-A, sesiunea care folosește cititorul de mijloc Xia finalizat. Acc rd mod distrus Xia obiect sesiune, și sesiune id-p-tabara de camping invalid.
Ia sesiune de obiect m. GetSession de int-sa HttpServletRequest. Această int-se este, de asemenea, o metodă, de a-ing îi permite să cunoască sesiunea id-p, la ING a venit cu o cerere (la momentul primirii cererii, și ar putea fi invalid), - o metodă getRequestSessionId, și să învețe dacă acesta este transmis împreună cu cookie-ul (metoda isRequestedSessionIdFromCookie) sau ca un get-setare, ca parte a adresei URL (metoda isRequestedSessionIdFromURL). Metoda isRequestedSessionIdValid vă permite să verificați dacă a venit timeout sesiune, lumina care a fost transmis cu cererea sau nu.
Interfața Javax.servlet.http.HttpSession conține metode care vă permit să știți toți parametrii sesiunii și de a lucra cu atributele sesiunii:
getId - care returnează un id-p-sesiune; getCreationTime - RETURN-timp a unei sesiuni; getLastAccessedTime - care returnează un timp de utilizări în ultimul trase-Ia-la în cadrul acestei sesiuni; getMaxInactiveInterval - returnează sesiune timeout; isNew - verifică dacă sesiunea a fost creat folosind primirea cererii sau nu; setMaxInactiveInterval - Call. set de valoarea de expirare.
obiect Session este același ca ServletContext și ServletRequest, m. să acționeze ca atribute un container d / alt obiect. atributele de sesiune Life Time sesiune de timp limitat folosește mijloc cu aplicația Web. atributele de sesiune - acesta este principalul mecanism pentru stocarea informațiilor pe server m / s de la apeluri de la același utilizator în cadrul unei singure sesiuni cu aplicația Web. N-p, ca atribute de referință fasole sesiune Statefull conservate sesiune.
___________________________________________
Nu toată lumea își poate permite să cumpere aur ceas bărbătesc la un preț ridicat! Dar oricine poate spiona ceas pentru mai ieftin, dar atât de frumos și elegant. Simptom bărbați galante erau, în orice moment - costum, un trabuc și un ceas de aur. Cumpara bărbați!