lox. samling -

, http er en "statsløse" protokol, hvilket betyder, hver gang en klient får en webside, kunden åbner en særskilt forbindelse til webserver og serveren automatisk fører ikke nogen resultater af tidligere klient anmodning. der stadig er følgende tre måder at holde møde mellem web client og webserver. kager: en informationssamfundet kan tildele en enestående samling id som en småkage til hver web client og efterfølgende anmodninger fra kunden, de kan anerkendes ved hjælp af de modtagne kage. det kan ikke være en effektiv måde, fordi mange gang browser støtter ikke en kage, så jeg vil ikke anbefale at anvende denne procedure til at opretholde møderne. skjult form områder: en webserver kan sende en skjult form område med:med en enestående samling id som følger:, < input type = "skjulte" navn = "sessionid" værdi = "12345" >, dette punkt betyder, at når den formular, der er forelagt, angivet navn og værdi er automatisk inkluderet i de få eller post - data.hver gang webbrowser sender anmodningen tilbage, så session_id værdi kan anvendes til at holde styr på de forskellige webbrowsere. dette kan være en effektiv måde til at holde styr på mødet, men at trykke på en regelmæssig (< en href... >) hypertext forbindelse ikke resulterer i en form for indgivelse, - skjult form områder, kan heller ikke støtte generalforsamling -, url omskrivning: du kan sætte nogle ekstra data om afslutningen af hver url, der identificerer sessionen, og serveren forbinder det møde med data, der er lagret id på det møde. f.eks. http: //tutorialspoint. kom /fil. htm; sessionid = 12345 mødet identifikator er knyttet som sessionid = 12345, som kan fås på web - server for at identificere kunden, url rewrit.ing er en bedre måde at holde møder og arbejder for browsere, når de ikke støtte kager, men her ulempe er, at du ville skabe hver url dynamisk til at tildele en samling id om side er simpel statisk html side. på mødet til formål, bortset fra de ovennævnte tre måder, lox gør brug af servlet, forudsat httpsession grænseflade, der er en måde at identificere brugeren på tværs af mere end én side anmodning eller besøg på en hjemmeside og opbevarer oplysninger om brugernes. ved misligholdelse, jsps har møde efter mulighed for og en ny httpsession objekt er instantierede for hver ny klient automatisk.invaliderende samling - kræves det udtrykkeligt, at slukke det ved at fastsætte den side direktiv møde give falsk som følger:, <% @ side møde = "falske"% >, lox motor udsætter httpsession imod lox forfatter gennem den implicitte, samling, objekt.siden, samling, objekt er allerede fastsat til lox programmør, programmør straks kan begynde lagring og genfinding af data fra de formål, uden at initialization eller getsession(). her er et sammendrag af vigtige metoder til rådighed via samling objekt, s.n.method & beskrivelse 1, offentlige formål getattribute (string navn), denne metode afkast formålet er bundet med de foreskrevne navn i denne mødeperiode, eller for hvis noget objekt er forpligtet til i henhold til navnet.2, offentlige tælling getattributenames(), denne metode returnerer en tælling af snor genstande, der indeholder navnene på alle de genstande, som er bundet til denne mødeperiode.3, offentlige længe getcreationtime(), denne metode vender tilbage, da dette møde blev oprettet, målt i millisekunder siden midnat den 1. januar 1970 gmt. 4, offentlige snor getid(), denne metode returnerer en streng, der indeholder den entydige identifikator, der henvises til i denne mødeperiode.5, offentlige længe getlastaccessedtime(), denne metode tilbage sidste gang kunden har sendt en anmodning, der er forbundet med dette møde, som antallet af millisekunder siden midnat den 1. januar 1970 gmt. 6, offentlige int getmaxinactiveinterval(), denne metode returnerer den maksimale tidsinterval i sekunder at servlet beholder vil holde denne samling åbent mellem klient adgangsveje.7, offentlige eller invalidate(), denne metode såede tvivl om dette møde, og unbinds genstande forpligtet til det.8, offentlige boolean isnew (denne metode afkast, hvis kunden endnu ikke vide, om mødet, eller hvis kunden vælger ikke at deltage i mødet.9, offentlige eller removeattribute (string navn), denne metode fjerner genstanden bundet med de foreskrevne navn fra dette møde.10, offentlige eller setattribute (string navn, objekt værdi), denne metode binder et objekt til denne samling, ved navn angives.11, offentlige eller setmaxinactiveinterval int (interval), og denne metode angiver varighed i sekunder mellem klient før servlet beholder vil ugyldiggøre denne mødeperiode., s - f.eks. i dette eksempel beskriver, hvordan man bruger den httpsession genstand for at finde ud af, oprettelse og sidste adgang til tid til et møde.vi vil inddrage et nyt møde med den anmodning, hvis man ikke allerede findes, <% @ side importerer = "java. io. *, java. util. * *% > <% //få samling oprettelse.dato createtime = ny dato (samling. getcreationtime()); //få sidste adgang tid af denne webside.dato lastaccesstime = ny dato (samling. getlastaccessedtime()); snor afsnit = "velkommen tilbage til min webside" heltal visitcount = nye heltal (0); snor visitcountkey = ny serie ("visitcount"); snor useridkey = ny serie ("brugeridentifikation"); snor brugeridentifikation = ny serie ("abcd"); //kontrollere, om denne nye udvikling på din hjemmeside.if (session.isNew()){ title = "Welcome to my website"; session.setAttribute(userIDKey, userID); session.setAttribute(visitCountKey, visitCount); } visitCount = (Integer)session.getAttribute(visitCountKey); visitCount = visitCount + 1; userID = (String)session.getAttribute(userIDKey); session.setAttribute(visitCountKey, visitCount); %> <html> <head> <title>Session Tracking</title> </head> <body> <center> <h1>Session Tracking</h1> </center> <table border="1" align="center"> <tr bgcolor="#949494"> <th>Session info</th> <th>Value</th> </tr> <tr> <td>id</td> <td><% out.print( session.getId()); %></td> </tr> <tr> <td>Creation Time</td> <td><% out.print(createTime); %></td> </tr> <tr> <td>Time of Last Access</td> <td><% out.print(lastAccessTime); %></td> </tr> <tr> <td>User ID</td> <td><% out.print(userID); %></td> </tr> <tr> <td>Number of visits</td> <td><% out.print(visitCount); %></td> </tr> </table> </body> </html> ,Now put above code in main.jsp and try to access ,http://localhost:8080/main.jsp,. det ville være forsynet med følgende resultat, når du løber for første gang:, velkommen til min hjemmeside, samling oplysninger, samling infovalue id 0ae3ec93ff44e3c525b4351b77abb2d5 oprettelse tidspunkt tir jun 08 17:26:40 gmt + 0400 2010 tid sidste adgang til tir - jun 08 17:26:40 gmt + 0400 2010 bruger - id abcd antal besøg 0, nu forsøger at køre den samme lox for anden gang, det ville vise følgende resultat. velkommen tilbage til min hjemmeside, samling oplysninger, oplysninger typevalue id 0ae3ec93ff44e3c525b4351b77abb2d5 oprettelse tidspunkt tir jun 08 17:26:40 gmt + 0400 2010 tid sidste adgang til tir - jun 08 17:26:40 gmt + 0400 2010 bruger - id abcd antal besøg 1, at slette samling data:,, når du er færdig med en bruger's møde data, har de flere muligheder:,,,,, at fjerne en bestemt egenskab:, kan du ringe til offentlige tomrum removeattribute (string navn), en metode til at slette den værdi, der er forbundet med en særlig nøgle.,,,,, at slette hele mødeperiode:, kan du ringe til offentlige tomrum invalidate(), metode til at skille sig af med en hel samling.,,,, at møde timeout:, kan du ringe til offentlige tomrum setmaxinactiveinterval int (interval), en metode til at fastsætte det til et møde, individuelt.,,,, log brugeren:, servere, der støtter servlets 2.4, kan du ringe til, vær klar, til at logge klient ud af webserver og ved alle møder, som tilhører alle brugerne.,,,, web.xml konfiguration:,, hvis du bruger hankat, bortset fra de ovennævnte metoder, kan du få samling time i web.xml fil som følger.,,, < samling ud > < samling timeout > 15 < /samling timeout > < /samling ud >, timeout udtrykkes i minutter og tilsidesætter misligholdelse timeout, der er 30 minutter hankat., getmaxinactiveinterval () metode i servlet afkast timeout - periode for at møde i sekunder.så hvis dit møde er konfigureret til web.xml i 15 minutter, getmaxinactiveinterval () vender tilbage til 900.



Previous:
Next Page: